对于我的生活,我无法让它发挥作用。当test.php文件与此应用程序位于同一服务器上时,我收到警报,但是如果我将其指向另一个域,则它根本不起作用。功能是:
$.ajax({
url: 'http://www.mycrossdomain.co.uk/test.php',
crossDomain: true,
dataType: 'json',
success: function(data) {
alert('success');
}
});
有人有任何有用的打印机吗?
答案 0 :(得分:8)
那是same origin policy在工作。
您不能通过XHR将post(即具有键值对作为正文的HTTP POST请求方法)发送到不同的域,协议和/或端口。
你可以玩CORS,但知道< { IE8。
但是,您可以将表单提交到其他网址。
答案 1 :(得分:-1)
你能做到这一点的唯一方法是在你的服务器上创建一个“代理”页面,它将你通过JSON请求发送的数据转发给第三方服务器并将结果直接返回给你脚本。这里的问题(如下面的评论中所指出的)是,虽然您可以获得JSONP请求以工作到另一个域,但您无法通过 POST 请求发送数据;这是因为所有“JSONP请求”都会在您的DOM中插入脚本标记,因此您唯一的选择就是通过脚本src url通过GET传递params。