如果我需要进行CORS所需的jQuery.Ajax POST调用,那么JSONP是唯一的解决方案吗?

时间:2013-02-13 15:24:51

标签: jquery jsonp http-post cors

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

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

我想制作HTTP POST而不是GET的原因是我在JavaScript对象的属性中有一些特殊字符;而且我不想浪费时间处理这件事。

它适用于IE9,但在FF和IE8上失败 (如有兴趣,请参阅相关问题: Why it fails?

人们建议我使用JSONP。

问题: 是不是有任何其他更快的方法来使CORS需要jQuery.Ajax HTTP POST调用哪个适用于所有浏览器 - 不需要JSONP?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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

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