3

CORS 现在在我的 Chrome、Firefox 应用程序中完美运行。使用这个插件https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

我也能够在 IE 中获得 CORS 请求,如下所示:

$.ajax({
    url: url,
    type:"POST",
    dataType: "json"
});

但是,当我尝试在 POST 请求中发送数据时,例如:

$.ajax({
    url: url,
    type:"POST",
    dataType: "json",
    data: {test: 5}
});

这没用。有没有人设法让 IE 发出包含 POST 数据的 CORS 请求?

谢谢!

4

1 回答 1

0

我注意到在 jQuery-ajaxTransport-XDomainRequest 源中,传递 userOptions.data 的发送函数调用被注释掉并且活动的 send() 调用没有参数:

我在使用 POST 时遇到了同样的问题,并且没有数据到达服务器。因此,我取消了带有数据调用的发送的注释,如下所示:

xdr.send(userOptions.data);
//xdr.send();

但是它仍然没有发送数据。所以我将类型从“POST”更改为“GET”并更新了我的服务器代码来处理它。好吧,它确实有效!我没有做更多的测试,我不确定 GET 对于我正在开发的代码是否可以接受。

更新:我进一步测试并使用 send() 或 send(userOptions.data) 似乎对 IE 没有任何影响。正是对 GET 的更改使其工作,因此如果您必须在 ajax 代码中使用 POST,那么 POST 仍然是一个问题。

由于我是跨域 ajax 数据发布的新手(IE 是问题),我希望其他人会发布他们的发现,因此它适用于 POST 和 GET。感谢你的帮助!

于 2012-09-05T15:35:44.077 回答