0

我需要调用位于不同域的 WCF RESTful 服务。

我通过 jQuery.Ajax 进行 HTTP POST 调用。

我想做一个 HTTP POST 而不是 GET 的原因是我的 JavaScript 对象的属性中有一些特殊字符;我不想浪费时间处理这个问题。

它在 IE9 上运行良好,但在 FF 和 IE8 上失败(如果有兴趣,请参阅相关问题: 为什么它失败了?

人们建议我使用 JSONP。

问题:是否有任何其他更快的方法可以使 CORS 所需的 jQuery.Ajax HTTP POST 调用适用于所有浏览器 - 而无需 JSONP?

4

2 回答 2

1

您可以通过您的服务器代理 HTTP 请求。然后你就不需要 JSONP

于 2013-02-13T15:26:35.897 回答
0

如果您可以控制 RESTful 服务,则可以在服务响应中添加此标头:

'Access-Control-Allow-Methods', 'POST'

'Access-Control-Allow-Origin', 'YOUR_CLIENT_DOMAIN'

使用此标头,您可以绕过浏览器中的 CORS。

于 2013-02-13T15:28:30.860 回答