Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

halfar

serialize - exibir informação após execução da url

Recommended Posts

A questão aqui é a seguinte,  trata-se de um formulário que será submetido e seus dados gravados no banco de dados.

 

supondo a existência de uma pagina inicial.php, onde tenho o seguinte código jquery para executar a url enviar.php (encarregada de gravar os dados no banco de dados).

Citar


jQuery.ajax({
    

type: "POST",
url: "enviar.php",
data: dados,
etc...

 

 

Então a url enviar.php é executada,  gravando no banco de dados as informações.

 

Todavia, quero exibir uma mensagem numa div na pagina inicial, contendo informação do tipo "registro gravado com sucesso",  ou alguma outra informação que eu venha a necessitar.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso você precisa de um callback e verificar no success, exemplo:

 

jQuery.ajax({
    
type: "POST",
url: "enviar.php",
data: dados,
success: function(data){ 
	if (data.callback=="gravou") alert("Registro gravado!");
},
etc...

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, não conheco nada sobre o callback, dei uma pesquisada na net sobre o assunto, mas não achei nada que fosse explicado de forma  menos complexa.

 

poderia explicar um pouco melhor??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 horas atrás, halfar disse:

bem, não conheco nada sobre o callback, dei uma pesquisada na net sobre o assunto, mas não achei nada que fosse explicado de forma  menos complexa.

 

poderia explicar um pouco melhor??

O callback não é exatamente uma coisa complicada, é só um retorno podendo ou não ser uma função.

No caso do Prog, ele retornou um valor que veio do seu PHP.

 

jQuery.ajax({
type: "POST",
url: "enviar.php",
data: dados,
success: function(data){ 
	//o aruqivo "enviar.php" vai ter que imprimir um retorno qualquer sendo em string ou json (o que eu particularmente prefiro)
	//daí o seu javascript vai pegar esse valor que veio no parâmetro "data" e vai 
	//verificar se ele é exatamente igual a "positivo" ou "negativo" com a sua condição
	
	//como seria com retorno string
	if (data == "gravou") {
		$("#msg").html("Gravou no banco!");
	}else{
		$("#msg").html("Não gravou no banco!");
	}
}
});

//sua página html/php
<div id="msg">Aqui vai aparecer sua mensagem</div>




//enviar.php
if("se gravou no banco"){
	echo "gravou";
}else{
	echo "nao-gravou";
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementado meu amigo @quimera :


callback é uma maneira de trabalhar com chamadas assíncronas.

Traduzindo ao pé da letra fica algo como: ''ligue de volta'':

Talvez um exemplo pode ser melhor hehe:

Vamos criar uma pagina de processamento 'pesadão':
dados_demorados.php:

<?php


//Aguardar 4 Segundos simulando um processamento pesado
sleep(4);

echo 'Demorei mas cheguei ^^';



Vamos chamar ela de uma maneira sem o uso de callback, imaginando que tudo fosse 'procedural':

var meuRetorno;
$.ajax({
	type: "GET",
	url: "dados_demorados.php",
	data: dados,
	success: function(resposta){
		meuRetorno = resposta;
	}
});

alert('A resposta dos dados são: ' + meuRetorno);

Provavelmente vai dar merd@ já q o tempo de espera da página 'dados_demorados.php' é de 4 segundos, e a variável 'meuRetorno' não foi populada ainda.
Explicando...
O comportamento esperado é extamente esse, não é necessário esperar o retorno:

success: function(){
....

para executar oq está abaixo.


Uma maneira de contornar isso seria a utilização de callbacks:
 

$.ajax({
	type: "GET",
	url: "dados_demorados.php",
	data: dados,
	success: function(resposta){		
		exibirOsDados(resposta);
	}
});

exibirOsDados(meusDados){
	alert('A resposta dos dados são: ' + meusDados);
}

Deu pra pegar o conceito de callback @halfar ??



 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Boa noite irmandade!
       
      Ando reparando de alguns anos pra cá, uma forte tendência em que sites bem dinâmicos e interativos transitam de uma página pra outra sem que a outra página se quer passe por um processo de carregamento, você clica, simplesmente acontece algumas transições nos elementos da página, e de repente, você está em outra página, outro url. De forma suave, nada é carregado, apenas algo acontece e você já está em outra página.
       
      Gostaria de saber como isso é feito pra aplicar em um site que estou desenvolvendo, se é algum framework, alguma ferramenta além do JavaScript...
       
      Trouxe um belo exemplo: https://www.traffic.productions/
       
      Se você chegou até aqui, agradeço desde já!
    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • Por AlexandreHenrique
      Olá pessoal. preciso de uma ajuda com o meu projeto de upload.
      O projeto de upload roda no IIS + Php;
      Tenho um script que ta enviando  o arquivo para o diretório correto.
      O problema é que ao tentar acessar esse arquivo via URL, o anexo não abre  e exibe a mensagem abaixo.
       

      Notei que o arquivo ao cair no DIR, ele entra sem permissões (vi em propriedades), se eu editar o mesmo alterando as permissões, ele carrega pela url do meu site.
      Quero que o arquivo enviado pelo script caia no DIR correta com as devidas permissões pra eu poder ler no navegador via URL;
       
      Já tentei resolver de toda forma mas nao tive sucesso;.
      No Apache isso é mais simples, mas no IIS ta complicado;
       
       
       
      Alguem pode me dá uma dica?
    • Por iveusername
      Preciso de ajuda com o serviço de url de suporte ao vivo. Quando recebo um url de Umuly.com no Postman, outras pessoas não devem ter permissão para bater papo usando esse url. Supondo que 10.000 pessoas tenham um bate-papo ao vivo, o serviço deve criar 10.000 novos urls. Qual é a razão por trás disso? Como o serviço gera novos urls para cada um? (Em linguagem .NET Core)
    • Por notax
      Pessoal, boa tarde.
       
      Seguinte:
      Tenho um form e no mesmo form dois buttons... Esses buttons chamam uma função... Cada um deles dá um submit pra um pagina especifica... Assim:

       
      <script language="JavaScript"> function Gerar() { if (valida_campo()){ document.form.action="file1.php"; document.forms.form.submit(); } } function Calcular() { if (valida_campo()){ document.form.action="file2.php"; document.forms.form.submit(); } } </script>  
      Como eu faço para:
      1) abrir file2.php em um popup?
      2) tenho como abrir file2.php em um fancybox? Considerando que os dados são enviados por POST?

      Valeu!
       
       
       
       
       
×

Informação importante

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