我有一个页面,用户可以“查看更多信息”,ID被发送到php页面,然后查询数据库。然后它返回一些数据,其中一些数据我想将它放入textarea,另一些数据放入标准div。
如何发回多个回复,我怎么知道数据是什么?例如发送名称和地址,我怎么知道php页面发回的内容,以便我可以在客户端解释数据?
有没有比使用
更好的方法 httpxml.responseText.indexOf("something")
由于这两个回复可能包含类似的数据?我希望做的是从PHP页面发送两个变量,然后在客户端“看到”这些变量?
希望我没有让这个太混乱,谢谢。
仅限Javascript。
答案 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'];