多个AJAX响应

时间:2010-12-04 19:56:10

标签: javascript ajax

我有一个页面,用户可以“查看更多信息”,ID被发送到php页面,然后查询数据库。然后它返回一些数据,其中一些数据我想将它放入textarea,另一些数据放入标准div。

如何发回多个回复,我怎么知道数据是什么?例如发送名称和地址,我怎么知道php页面发回的内容,以便我可以在客户端解释数据?

有没有比使用

更好的方法

httpxml.responseText.indexOf("something")

由于这两个回复可能包含类似的数据?我希望做的是从PHP页面发送两个变量,然后在客户端“看到”这些变量?

希望我没有让这个太混乱,谢谢。

仅限Javascript。

1 个答案:

答案 0 :(得分: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--(只是vanilla js对吧?你没提到jQuery或者其他什么) 这可能在你的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'];