在Javascript中跨域发出RESTful请求

在Javascript中跨域发出RESTful请求,javascript,ajax,rest,cross-domain,Javascript,Ajax,Rest,Cross Domain,我正试图找到一种最方便、最高效(即可伸缩)的方式来使用Javascript进行跨域请求,这种方式允许在请求中使用完整的HTTP动词(GET、POST、PUT、DELETE)。我们的问题是,我们有一个轻量级的体系结构,允许数据存储和API分布在多个小型服务器上,并且有一个或两个服务器提供主要用纯Javascript编写的web服务 我希望能够使用最简单的破解/解决方案使用Javascript中的API,我使用过JSONP、服务器端代理(不确定是否可扩展?)和iframe代理,但最终都需要API托管

我正试图找到一种最方便、最高效(即可伸缩)的方式来使用Javascript进行跨域请求,这种方式允许在请求中使用完整的HTTP动词(GET、POST、PUT、DELETE)。我们的问题是,我们有一个轻量级的体系结构,允许数据存储和API分布在多个小型服务器上,并且有一个或两个服务器提供主要用纯Javascript编写的web服务

我希望能够使用最简单的破解/解决方案使用Javascript中的API,我使用过JSONP、服务器端代理(不确定是否可扩展?)和iframe代理,但最终都需要API托管的特殊功能将这些请求转换为正常调用。有没有一种方法可以让我在不做烦人的工作的情况下获得这项功能,或者我只能做一项

(我还查看了postMessage,但它仍然不完全受支持,并且提供了无法指定HTTP谓词的相同问题。)

您想要的是,但浏览器支持仍然相当有限。MDC具有最好的覆盖
访问控制允许源站
标题


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

对于可与大多数浏览器互操作的跨域请求,您需要使用JSONP,听起来您已经熟悉它了。你是在问是否还有其他灵丹妙药吗?“相当有限的支持”IE8、FF3.5、Chrome 3、Safari 4、Opera 12,或者——换句话说,根本不受限制。支持率:56.29%部分支持率:29.52%。如果你不想被局限于获取和发布,那么你就只能使用56%——这29%是IE8和IE9,在IE8和IE9中,你必须使用
XDomainRequest
,而不是像其他浏览器一样使用常规的XHR。你说得对,它确实有很多功能,但总比什么都没有好。(另一个例子是IE为IE)