2010-12-04 15 views
0

私は、ユーザーが「詳細を見る」ことができるページを持っています。そのIDはPHPページに送られ、そこでデータベースに問い合わせます。次に、いくつかのデータを返します。データの一部をテキストエリアに、もう1つを標準divに入れたいと思います。複数のAJAXレスポンス

複数の返信を返信するにはどうすればよいですか。どのようにデータがわかりますか?例えば名前と住所を送信する、どのように私はクライアント側のデータを解釈することができるようにPHPのページが戻ってきて知っているのですか?

同様のデータが含まれていてもよい2つの応答として

httpxml.responseText.indexOf("something")

を使用してより良い方法はありますか?私が望むのは、PHPページから2つの変数を送信し、クライアント側でこれらの変数を "参照"することです。

希望私はこれをあまりにも混乱させていない、ありがとう。

Javascriptのみでお願いします。

答えて

2

PHPからすべての値を含むJSONを返します。その後、あなたのjavascriptは、あなたが値を使ってやりたいことを何でもすることができます応答を得た後。

http://www.php.net/manual/en/function.json-encode.php

--PHP--

$responseArr = array('a'=>1, 'b'=>2); 
echo json_encode($responseArr); 

私は(私は今、jQueryを使ってこれを行う)記憶が正しければ、ちょうどあなたの応答テキスト上のeval()を実行すると、あなたのためのオブジェクトを生成します。

--javascript--(ちょうどバニラJS右?あなたはjQueryのか、何も言及didntは) これはあなたのonreadystatechangeにブロック内で、おそらく

var r = xhr.responseText; //assuming you name the XMLHttpRequest object 'xhr' 
var rlist = eval('('+r+')'); 
document.getElementByID("foo").innerHTML = rlist['a']; //or whatever you want to do with these 
document.getElementByID("bar").innerHTML = rlist['b']; 
+0

感謝です!私はちょうどそのhahaを理解しようとしている最後の20分を費やす、私はeval関数内で配列をロードしようとしたようです。再度、感謝します :)。 – Elliott

関連する問題