我正在尝试接收来自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
但是当我尝试接收响应并显示变量数据中收到的值时,没有任何内容出现。我能做错什么?谢谢!
答案 0 :(得分:3)
您必须使用类型为$.get
的{{1}}或$.ajax
等jquery实用程序函数。
如果您能够在浏览器网址中获得结果,那么GET
请求的结果就会出现,而GET
代码中会显示您的帖子请求。
评论更新
“Access-Control-Allow-Origin不允许使用原点null。”
当您可能正在向另一个域中的页面发出ajax请求,或者通过双击直接加载页面而不通过主机URL时,会出现此问题。
即在url地址中代替jquery
,您应该拥有与您请求的php页面相同的域名。
如果您的ajax请求目标页面位于另一个域中,则可以执行跨域ajax请求
你应该设置
file:///
承载ajax目标页面的服务器上的标头。将值设置为Access-Control-Allow-Origin: *
意味着它将允许来自任何域的请求,因此它使安全性如上所述here。
同样在客户端,您可以使用Jquery.ajax实用程序函数,并将*
设置设置为true。此外,它还会出现在IE版本中无法解决的问题。
请参阅描述此问题的related question。
关于jquery文档的this article,讨论了同样的问题,并提出了一个建议,包括我之前尝试过并开始工作的js修复文件。
以下是一些相关链接,用于在各种服务器中设置CORS支持并在客户端执行ajax调用。