通过jquery .ajax将帖子数据提交到另一个域

时间:2011-08-24 12:39:49

标签: jquery ajax cross-domain

对于我的生活,我无法让它发挥作用。当test.php文件与此应用程序位于同一服务器上时,我收到警报,但是如果我将其指向另一个域,则它根本不起作用。功能是:

        $.ajax({
    url: 'http://www.mycrossdomain.co.uk/test.php',
    crossDomain: true,
    dataType: 'json',
    success: function(data) {
        alert('success');
    }
    });

有人有任何有用的打印机吗?

2 个答案:

答案 0 :(得分:8)

那是same origin policy在工作。

您不能通过XHR将post(即具有键值对作为正文的HTTP POST请求方法)发送到不同的域,协议和/或端口。

你可以玩CORS,但知道< { IE8。

但是,您可以将表单提交到其他网址。

答案 1 :(得分:-1)

你能做到这一点的唯一方法是在你的服务器上创建一个“代理”页面,它将你通过JSON请求发送的数据转发给第三方服务器并将结果直接返回给你脚本。这里的问题(如下面的评论中所指出的)是,虽然您可以获得JSONP请求以工作到另一个域,但您无法通过 POST 请求发送数据;这是因为所有“JSONP请求”都会在您的DOM中插入脚本标记,因此您唯一的选择就是通过脚本src url通过GET传递params。