Ir para conteúdo

POWERED BY:

Arquivado

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

Denis Lins

[Resolvido] Raciocínio complicado...

Recommended Posts

Fala galera!

 

Estou com um problema, nao consigo pensar em uma lógica aqui :S

 

É o seguinte: vou fazer uma requisição POST com jQuery.

Essa requisição vai me retornar uma string, que vai virar um alert.

Exemplo: Logado com sucesso!, Preencha corretamente os campos e blablabla.

 

Mas em alguns casos, além disso eu preciso que uma div seja atualizada, com outro conteúdo.

Poderia fazer isso retornando outro JS, mas iria ficar inline e queria fazer o site todo direitinho.

 

Traduzindo:

 

Como fazer pra ter duas respostas do ajax? Ou outro método que funcione?

 

Exemplo:

 

Vou retornar assim: Logado com sucesso!

 

E vou dar assim alert(respostaDoAjax);

 

Mas a resposta do ajax tambem vai ter outros dados, e se eu der o alert iria ficar:

 

alert('Logado com sucesso! <div id='userMenu'>....</div>');

 

Entenderam?

 

Eu consegui com JS inline já. Teria jeito com JS certinho mesmo?

 

Valeu ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai galera, consegui a solução!

 

Vou postar aqui pra outras pessoas aprenderem tambem:

 

retornei isso do PHP:

 

var responseTest = ['logou hehe', '<div> menu do cara </div>'];

Depois só dei um eval, e separei direitinho ;D

 

Falous!

 

PS: Ajuda de Leandro Daldegam :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moderador, abre o tópico de novo por favor?

 

Galera, minha dúvida ainda persiste.

 

Como retornar duas respostas por ajax?

 

Ja procurei milhooooes de sites, nao acho em lugar nenhum ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa aí.

 

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var y = '';
$.post("json.php", {x:y},function(data){

alert(data.A);
alert(data.B);

}, "json");

});
</script>
</head>
<body>
</body>
</html>

json.php

 

<?
echo json_encode(array("A"=>"ola eu sou um objeto json!", "B"=>"oi eu sou outro objeto json!"));
?>

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

[ERRATA]

 

Apenas pra um melhor entendimento, no código acima temos um objeto json com duas propriedades. E nao dois objetos como coloquei.

Seu objeto ficaria assim:

 

<?
$obj = array("A"=>"logou hehe", "B"=>"menu do cara");
echo json_encode($obj);
?>

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var y = '';
$.post("json.php", {x:y},function(data){

alert(data.A);
$('#resultado').html(data.B);

}, "json");

});
</script>
</head>
<body>
<div id="resultado"></div>
</body>
</html>
t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entendi sim...

 

Não posso testar agora, então deixarei minha dúvida.

 

A segunda parte do JSON retornado será o conteúdo de um arquivo.

 

Exemplo:

 

<div id="userActions">
<ul>
...
</div>

O dado retornado pode conter aspas simples e/ou duplas, e quebras de linha?

 

Obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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