-2

我有一个 html/jQuery webPage 和一个 PHP 服务器。从网页我向我的服务器发出“发布”请求,如下所示:

var data = '{"deviceUUID":"' + userId + '"}'
                 $.ajax({
                     type: "POST",
                     url: "http://192.138.2.113/Server_CityInfo/whereSubscribed.php",
                     data: data 
                     })

如您所见,我只发送id,格式为 json 。请求到达服务器,经过一些“烹饪”后,我从服务器回显到 webPage:

echo json_encode($result);

抱歉,如果我的问题听起来很愚蠢,但是我如何用 jquery 将这个回声“捕捉”到我的网页?

4

3 回答 3

2

在这样的成功处理程序中 -

$.ajax({
    type: "POST",
    url: "http://192.138.2.113/Server_CityInfo/whereSubscribed.php",
    data: data,
    success: function (data) {
        alert(data); // here you got `$result` in data
    }
});
于 2013-05-21T16:56:25.800 回答
0

PHP 服务器与网页位于不同的来源(不同的 ip、域、子域或协议)。因此,您的请求被Same Origin Policy捕获。

解决此问题的常用方法有以下三种:

您可以使用JSONP,但这意味着必须使用 GET 而不是 POST,并且服务器必须以 JSONP 格式返回数据。

您可以使用CORS,但 PHP 服务器必须实现 cors 标头,并且您必须实现 jQuery 补丁(或手动发送请求)以支持 IE8 和 IE9。IE7 根本不支持 CORS。

第三种选择是在您的网络服务器上或在正确实现 CORS 或 JSONP 的第三方服务器上使用代理。对此有帮助的常见第三方服务是YQL ,这里有一个做得很好的示例。

于 2013-05-21T18:30:39.150 回答
-2

您需要使用回调方法来处理返回时的响应(因为它是异步的)...

于 2013-05-21T16:57:11.863 回答