我正在尝试找到最方便、最有效(即可扩展)的方式来在 Javascript 中发出跨域请求,它允许在我的请求中使用完整的 HTTP 动词(GET、POST、PUT、DELETE)。我们的问题是我们有一个轻量级的架构,允许数据存储和 API 分布在多个小型服务器上,并且有一个或两个服务器提供主要用纯 Javascript 编写的 Web 服务。
我希望能够使用最不丑陋的 hack/解决方案从 Javascript 使用 API,我玩过 JSONP、服务器端代理(不确定是否可扩展?)和 iframe 代理,但这些最终都需要一个API 托管的特殊功能,用于将这些请求转换为正常调用。有没有一种方法可以让我在没有烦人的变通方法的情况下获得此功能,或者我是否坚持使用一种方法?
(我也查看了 postMessage,但它仍然没有得到完全支持,并提供了无法指定 HTTP 动词的相同问题。)
最佳答案
你要的是CORS但浏览器支持仍然相当有限。 MDC有最好的documentation覆盖 Access-Control-Allow-Origin
header 。
基本流程是浏览器执行飞行前 OPTIONS 请求,服务器以允许访问的 header 响应,然后浏览器发出完整请求。
关于javascript - 在 Javascript 中跨域进行 RESTful 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137097/