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)










