我有一个html / jQuery webPage和一个PHP服务器。从webPage我正在向我的服务器发出“发布”请求,如下所示:
var data = '{"deviceUUID":"' + userId + '"}'
$.ajax({
type: "POST",
url: "http://192.138.2.113/Server_CityInfo/whereSubscribed.php",
data: data
})
如您所见,我只以json格式发送 id 。请求到达服务器,经过一些“烹饪”后,我从服务器回复到webPage:
echo json_encode($result);
很抱歉,如果我的问题听起来很愚蠢,但我如何用jquery“捕获”这个回显到我的网页?
答案 0 :(得分: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
}
});
答案 1 :(得分:0)
PHP服务器位于与网页不同的源(不同的IP,域,子域或协议)上。因此,您的请求被Same Origin Policy抓住了。
有三种常见方法可以解决此问题:
您可以使用JSONP,但这意味着必须使用GET而不是POST,并且服务器必须以JSONP格式返回数据。
您可以使用CORS,但PHP Server必须实现cors头,您必须实现jQuery的补丁(或手动发送请求)以支持IE8和IE9。 IE7根本不支持CORS。
第三种选择是在您的网络服务器上或在正确实施CORS或JSONP的第三方服务器上使用代理。一个常见的第三方服务是YQL,并且有一个非常好的示例 here 。
答案 2 :(得分:-2)
你需要使用一个回调方法,它会在回复时处理响应(因为它是asynchrone)......