Ir para conteúdo
Cabrini

percorrendo JSON COM AJAX

Recommended Posts

Ola galera , estou com um probleminha . não consigo encontrar o erro no meu codigo :

mostraDados/request.onreadystatechange

mostra dados que é minha funçao. 

 

 

for (var propriedade in dados) {
                
                    if (typeof dados[propriedade] !== 'object') {
                        for(var i=0; i<dados.length ; i++){
                        var nome = dados.nome;
                         var idade = dados.idade;
                        var profissao = dados.profissao;
                        var esporte = dados.esporte;

                        container.innerHTML += '<td>'+nome + '</td>'+
                                             '<td>'+idade + '</td>'+
                                                '<td>'+profissao + '</td>'+
                                                '<td>'+esporte + '</td>';
                                                
                       no console o erro aponto para  a linha em negrito .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a função map , bem mais simples!

 

container.innerHTML = dados.map(obj => {

    return '<tr>'+
                '<td>'+ obj.nome + '</td>'+
                '<td>'+ obj.idade + '</td>'+
                '<td>'+ obj.profissao + '</td>'+
                '<td>'+ obj.esporte + '</td>'+
            '</tr>';

});


https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://medium.com/poka-techblog/simplify-your-javascript-use-map-reduce-and-filter-bd02c593cc2d

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Kelven
      Olá pessoal tudo bem?
       
      Então eu quero colocar um formulário de newsletter em um servidor q não tem suporte para php, o negócio é q depois que a pessoa clica em se cadastrar eu quero que ela seja redirecionada para outro site, então gostaria de saber como posso estar fazendo isso usando apenas javascript, jquery ou ajax com o API do Mailchimp? Porque já procurei muito e não achei, só achei em php.
    • Por emersonandree
      <script type="text/javascript"> $(document).ready(function(){ $('#btn_busca_f').click(function () { var data_ini = $('#data_ini').val(); var data_fim = $('#data_fim').val(); var cod_recurso = $('#cod_recurso').val(); var cod_funcionario = $('#cod_funcionario').val(); var num_op = $('#num_op').val(); $.ajax({ type: 'post', async: false, url: '/intranet/ExportaFimApontamento', data:{ '_token': '{{csrf_token()}}', 'data_ini': data_ini, 'data_fim': data_fim, 'cod_recurso': cod_recurso, 'cod_funcionario': cod_funcionario, 'num_op': num_op }, erro: function () { alert('erro'); }, success: function (data) { return (data); alert('Excel Gerado com Sucesso!'); } }); }); }); </script> este script executa uma função no controller onde ele gera um arquivo excel.xls, porem se eu executar a função direto no controler ele funciona, se eu executar com o script ele funciona mas nao gera o arquivo.xls alguem sabe como posso fazer para que ele baixe o arquivo la na função?
    • Por michelmir
      Olá a todos.
       
      Tenho um formulário que esta inserido em um código Bootstrap Modal. Quando os valores são inseridos nos campos input, o Ajax script passa esses valores para um arquivo php e retorna com um alert de sucesso. O que ocorre é que somente o alert aparece, porém quando clica no botão OK deste alerta o Modal não fecha. Abaixo segue o código do popup Modal e o script Ajax:
      <button type="button" class="btn btn-block btn-primary" data-toggle="modal" data-target="#dataModal"></button> <!-- Modal --> <div class="modal fade" id="dataModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" >Adicionar dados</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <form id="usersform" method="post"> <input type="text" name="nome" id="nome"/> <input type="email" name="email" id="email"/> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">CANCELAR</button> <button type="submit" class="btn btn-success" id="submit" >ADD USER</button> </form> </div> </div> </div> </div> E abaixo segue o Ajax script ao qual faz a passagem dos valores input para o arquivo insert.php que no caso funciona corretamente inserindo os dados no banco de dados:
      <script> $(document).on('submit', '#usersform', function(event){ event.preventDefault(); $.ajax({ url:"insert.php", method:'POST', data:new FormData(this), contentType:false, processData:false, success:function(data){ alert("Cadastro realizado com sucesso!"); $("#usersform")[0].reset(); $("#dataModal").modal('hide'); } }); }); </script> O que ocorre é que o popup Modal não fecha apesar do código $("#dataModal").modal('hide'); estar após o alert e nem "zera" os campos após o resultado de sucesso. Os dados são inseridos normalmente após clicar no "ok" da tela de mensagem do alert. O que pode ser? Obrigado.
    • Por Soneca_BO
      Boa tarde Pessoal!
       
      Estou a um bom tempo tetando fazer um CRUD em um banco de dados não tradicional e sim do "Cognos tm1",
       
      Estou fazendo uma aplicação WEB e queria usar o Ajax com jquery e javascript(dependendo do caso) para fazer um CRUD
      salvando dados deletando e fazendo as devidas atualizações, mas não estou conseguindo fazer o "PUT" e nem o "DELETE", 
      E não faço ideia de como começar a escrever o código para os métodos informados acima.
       
      Segue código criado para fazer o GET (só conseguir fazer o GET)
      $.ajax({ username: 'admin', password: ' ', url: "http://localhost:8881/api/v1/Cubes('ACO.200.Despesas')/Views('visao')/tm1.Execute?$expand=Cube($select=Name;$expand=Dimensions($select=Name)),Axes($expand=Tuples($expand=Members($select=Name;$expand=Element($select=UniqueName)))),Cells", method: 'POST', headers: { "Authorization": "Basic YWRtaW46", "cache-control": "no-cache", }, contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { console.log(data); }, error: function () { alert("erro"); } });  
       
      Obs.: não sou muito bom em rest e estou buscando aprender mais sobre ele, se alguém poder me ajudar agradeceria muito.
       
      Desde já agradeço alguém que conseguir me da uma força.
       
    • Por gsinhorini
      Olá! Bom dia pessoal tudo bem?
      Estou com uma dúvida, estou fazendo um requerimento em Ajax para pegar algumas informações e preencher alguns campos até ai tudo bem. A minha dúvida é o seguinte eu preciso fazer uma validação em um select como eu posso fazer isso.
      Eu criei um variável output que recebe as informações e monta o html, tenho que fazer a validação dentro do output. Vou colocar o código. 
      Muito obrigado pela atenção.
      $('#btn_problema').on('click', function () { var codigo_sac = $(this).attr('data-codigo'); console.log(codigo_sac); $.ajax({ type: "GET", url:'buscarProblema?codigo='+codigo_sac, dataType: "html", async:false, success: function (data) { console.log(data); var dados = JSON.parse(data); output = ""; $('#descricao-problema').val(dados.descricao); $('#Etapa02_codigo_sac').val(dados.codigo_sac); if (dados["debitos"] != null) { $.each(dados.debitos, function (i, item) { if (item.tipo == 1) { output += '<div class="col-md-12"><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Tipo<!-- <span class="required"> * </span> --></label><div class=""><select class="form-control select2me" disabled><option value="">Selecione...</option><option value="1" selected > Débitos </option></select></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Descrição:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" value="'+item.descricao+'" /></div></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Data:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="date" class="form-control text-center" value="'+item.data+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label uppercase">Valor:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" name="" id="" value="R$ '+item.valor+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Ação<span class="required"> * </span></label><div class=""><select class="form-control select2me acao_debitos" data-codigo="item.codigo"><option value="">Selecione...</option><option value="1"> Sim </option><option value="2"> Não </option></select></div></div></div></div>'; } if (item.tipo == 2) { output += '<div class="col-md-12"><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Tipo<!-- <span class="required"> * </span> --></label><div class=""><select class="form-control select2me" disabled><option value="">Selecione...</option><option value="2" selected > Multa </option></select></div></div></div> <div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">Data:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="date" class="form-control text-center" value="'+item.data+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label uppercase">Valor:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" name="" id="" value="'+item.valor+'" /></div></div></div></div><div class="col-md-3"><div class="form-group text-center"><label class="control-label uppercase">AIT:<!-- <span class="required"> * </span> --></label><div class=""><div class=""><input readonly type="text" class="form-control text-center" value="RS'+item.ait+'" /></div></div></div></div><div class="col-md-2"><div class="form-group text-center"><label class="control-label">Aprovação<span class="required"> * </span></label><div class=""><select class="form-control select2me acao_debitos" data-codigo="item.codigo"><option value="">Selecione...</option><option value="1"> Sim </option><option value="2"> Não </option></select></div></div></div></div>'; } $("#problema-debitos").html(output); $("#problema-debitos").trigger('chosen:updated'); }); } } }); });  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.