在Javascript中进行RESTful请求跨域

时间:2012-02-03 23:59:59

标签: javascript ajax rest cross-domain

我正在尝试找到最方便,最有效(即可扩展)的方式来在Javascript中创建跨域请求,允许在我的请求中使用完整的HTTP谓词(GET,POST,PUT,DELETE)。我们的问题是我们有一个轻量级架构,允许数据存储和API分布在多个小型服务器上,并且有一个或两个服务器提供主要用纯Javascript编写的Web服务。

我希望能够使用最简单的黑客/解决方案从Javascript中使用API​​,我玩过JSONP,服务器端代理(不确定是否可扩展?)和iframe代理,但这些都需要一个API托管的特殊功能,用于将这些请求转换为普通调用。有没有办法让我在不烦恼的情况下获得这个功能,或者我坚持使用它?

(我也查看了postMessage,但它仍然没有完全支持,并提供了无法指定HTTP动词的相同问题。)

1 个答案:

答案 0 :(得分:2)

您想要的是CORS,但浏览器支持仍然相当有限。 MDC拥有最好的documentation覆盖Access-Control-Allow-Origin标题。

基本流程是浏览器执行飞行前OPTIONS请求,服务器响应允许访问的标头,浏览器发出完整请求。