没有收到来自php JQuery的响应

时间:2013-03-22 09:43:20

标签: php jquery

我正在尝试接收来自php的响应,该响应以下列格式返回响应:

PHP响应

 response=1

JQUERY

$.get('getstate.php', {
    email: $('#game-email').val(),
    country: 'DE',
    lang: lang,
    source: 'promotion'
}, function (data) {
    console.log(data);
});

当我在浏览器中加载php时,它会在浏览器中给出正确的响应:

getstate.php?email=test@gmail.com& country = DE

但是当我尝试接收响应并显示变量数据中收到的值时,没有任何内容出现。我能做错什么?谢谢!

1 个答案:

答案 0 :(得分:3)

您必须使用类型为$.get的{​​{1}}或$.ajax等jquery实用程序函数。

如果您能够在浏览器网址中获得结果,那么GET请求的结果就会出现,而GET代码中会显示您的帖子请求。

评论更新

  

“Access-Control-Allow-Origin不允许使用原点null。”

当您可能正在向另一个域中的页面发出ajax请求,或者通过双击直接加载页面而不通过主机URL时,会出现此问题。

即在url地址中代替jquery,您应该拥有与您请求的php页面相同的域名。

如果您正在制作跨域AJAX请求

如果您的ajax请求目标页面位于另一个域中,则可以执行跨域ajax请求

你应该设置

file:///
承载ajax目标页面的服务器上的

标头。将值设置为Access-Control-Allow-Origin: * 意味着它将允许来自任何域的请求,因此它使安全性如上所述here

同样在客户端,您可以使用Jquery.ajax实用程序函数,并将*设置设置为true。此外,它还会出现在IE版本中无法解决的问题。

请参阅描述此问题的related question

关于jquery文档的

this article,讨论了同样的问题,并提出了一个建议,包括我之前尝试过并开始工作的js修复文件。

以下是一些相关链接,用于在各种服务器中设置CORS支持并在客户端执行ajax调用。

add CORS support to my server

use CORS from JavaScript