Ir para conteúdo
Fórum Script Brasil
  • 0

Como guardar e recuperar vários retornos de uma requisição AJAX


NotesAmade

Pergunta

Senhores, boa noite. Estou tentando realizar a seguinte tarefa, estou enviando via AJAX a uma outra página 3 cep's, ao chegar lá eu dou apenas um echo do cep enviado pra saber que chegou, esse echo entra na verificação de sucesso aonde eu testo a validade, ou seja, diferente de vazio e entra a próxima ação. Quando dou apenas um alert(data) ele mostra os ceps um de cada vez conforme loop, porém se eu digo pra realizar um incremento a cada vez e já fora do loop eu dou um alert de n então o alert resulta em 0 (zero).

Me desculpem a ignorância caso a pergunta seja boba ou eu que esteja cometendo algum erro trivial.

 

O intuito desse teste é que a ideia é chegar na seguinte solução, um db que contem dados precisa receber dados do csv desde que esses dados já não existam no banco, logo pensei na seguinte solução, a a pagina um carrega o csv, chama o ajax, o ajax chama a pagina php responsável pela verificação e insert e sempre que esta retornar 1 (um) o ajax faz um incremento, por que isso, pra poder informar ao usuário que de X registros importados N foram inseridos.

 

function testeAjax() {

    var cep = ['cep 01', 'cep 02','cep 03'];
    var n = 0;
    for(var c=0 ; c < cep.length ; c++){

        jQuery.ajax({
            type: "POST",
            url: "./_inc/controler/uploadArquivosControle.php",
            data: { acao:'insertUpdate', cep: cep[c] },
            success: function( data ){

                if(data!==''){
                    n++;
                }

            }

        });

    }
    alert(n);
}

 

<?php
    $acao = $_REQUEST['acao'];

	$dao = new UploadArquivosDAO();
    
    switch ($acao) :
        case 'insertUpdate':
            
            $cep      = addslashes($_POST['cep']);
            echo $cep;
        break;
    endswitch;

 

Desde já muito obrigado a quem puder me ajudar, 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O AJAX funciona como se fosse um navegador "escondido", então ele faz 1 requisição e recebe 1 resposta.

Logo esse loop que você imagina não funciona, porque para cada interação no loop deveria existir uma requisição diferente, e não vale a pena esse vai e volta todo.

Para simplificar faz o PHP verificar e inserir TODOS  os dados no banco, o PHP conta quantos foram inseridos corretamente e responde esse número para o Javascript que só exibe o número na tela.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Leonardo Persan, muito obrigado pelo retornoentendi mais ou menos sua resposta. Se o loop não funciona então porque quando uso o alert(data) no lugar do "n++" ele dá 3 alertas com os respectivos ceps enviados? Qaunto a sugestão do uso do php eu já tinha pensado nisso, o problema que o intuito dessa função é que eu queria mostrar uma barra de progresso, aonde nela mostraria a evolução percentual de registros verificados / volume total enviado.

Sem querer abusar, mas você poderia me dar uma luz sobre como resolver isso?

Desde já muito obrigado
 

44 minutos atrás, Leonardo Persan disse:

O AJAX funciona como se fosse um navegador "escondido", então ele faz 1 requisição e recebe 1 resposta.

Logo esse loop que você imagina não funciona, porque para cada interação no loop deveria existir uma requisição diferente, e não vale a pena esse vai e volta todo.

Para simplificar faz o PHP verificar e inserir TODOS  os dados no banco, o PHP conta quantos foram inseridos corretamente e responde esse número para o Javascript que só exibe o número na tela.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...