function CadastraProgrodo(scgc, sorigem, sdestino, srota, sseq, suorigem, susuario) { $.get("SalvaProgrodo.asp", { Cgc: scgc, Origem: sorigem, Destino: sdestino, Rota: srota, Seq: sseq, UOrigem: suorigem, Usuario: susuario }, function(data) { if (data == 1) { return true; } else { return false; } }); } function salvaGrade() { var origem = "SCCRCIIUMA"; var destino = "SPSAO PAULO"; var rota = "TESTE"; var usuario = "cristiano"; var total = $('#ReportTable tr').length - 1; for(var i = 1; i <= total; i++) { var cgc = $('#ReportTable tr:eq('+i+') td:eq(1)').text(); if (i == 1) { uorigem = origem; } else { uorigem = $('#ReportTable tr:eq('+(i - 1)+') td:eq(3)').text(); } if (CadastraProgrodo(cgc, origem, destino, rota, i, uorigem, usuario)) { continue; } else { alert('Hove um erro durante a gravação da rota! Tente novamente!'); break; } } salvaGrade2(origem, destino, rota, usuario); }
[Jquery] Problema Com Retorno Do Ajax
Started By XyBeR, 03/05/2010, 08:14
1 reply to this topic
#1
Posted 03/05/2010, 08:14
Galera eu tenho a função "salvaGrade" que é chamada por um botão que por sua vez passa por todas as linhas da minha tabela e que chama uma outra função "CadastraProgrodo" para gravação via ajax os dados no banco, meu problema é que ma primeira vez que a função "salvaGrade" chama a função "CadastraProgrodo" ele já me retorna false ao invés de aguarda o retorno e continuar, seria possivel fazer com que o processo aguarde o retorno no ajax para proseguir? Em testes passo-a-passo com firebug eu recebo o retorno true mas pq eu dou um tempo para o retorno processar.
#2
Posted 03/05/2010, 09:22
Bem... você está com um grande problema!
Você está tentando usar o ajax dentro de um for... !
O for é processado na velocidade do navegador... e a requisição do ajax na velocidade do servidor...
O ideal seria realizar o processamento de tudo dentro do arquivo 'SalvaProgrodo.asp';
Não use o for para percorrer cada linha e salvar direto.
Utilize o for para criar um array que contenha todos os dados da sua tabela em questão e envie o array para ser salvo dentro do seu arquivo no servidor, no caso o 'SalvaProgrodo.asp'. Aí ao invés de ter diversas chamadas de ajax, você teria uma única chamada e enviaria o array para ser salvo dentro do seu
'SalvaProgrodo.asp'
Você está tentando usar o ajax dentro de um for... !
O for é processado na velocidade do navegador... e a requisição do ajax na velocidade do servidor...
O ideal seria realizar o processamento de tudo dentro do arquivo 'SalvaProgrodo.asp';
Não use o for para percorrer cada linha e salvar direto.
Utilize o for para criar um array que contenha todos os dados da sua tabela em questão e envie o array para ser salvo dentro do seu arquivo no servidor, no caso o 'SalvaProgrodo.asp'. Aí ao invés de ter diversas chamadas de ajax, você teria uma única chamada e enviaria o array para ser salvo dentro do seu
'SalvaProgrodo.asp'
Iniciando na Ajuda On line...
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)