【问题标题】:Multiple AJAX responses多个 AJAX 响应
【发布时间】:2010-12-04 19:56:09
【问题描述】:

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

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

有没有比使用更好的方法

httpxml.responseText.indexOf("something")

因为两个响应可能包含相似的数据?我希望做的是从 PHP 页面发送两个变量,然后在客户端“看到”这些变量?

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

请仅使用 JavaScript。

【问题讨论】:

    标签: javascript ajax


    【解决方案1】:

    从 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 或任何东西) 这可能在您的 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'];
    

    【讨论】:

    • 谢谢!我只是花了最后 20 分钟试图弄清楚哈哈,似乎我试图在 eval 函数中加载数组。再次感谢:)。
    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多