javascript - 在 Javascript 中跨域进行 RESTful 请求

标签 javascript ajax rest cross-domain

我正在尝试找到最方便、最有效(即可扩展)的方式来在 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/

相关文章:

javascript - 尝试关闭和打开命令quick.db

php - 如何将字符串中的值连接到变量中的值?

javascript - 不必每次循环都重复脚本

javascript - Ajax.beginForms MVC 部分 View

php - 使用带有 key 的 REST_Controller Codeigniter API

java - YouTrack REST API : How to attach image to issue?

java - 动态地将 JSON/XML 传递到 REST Web 服务

javascript - Angular 2 ngIf 和 ngFor 组合

javascript - 来自 Google Maps Geocoder v3 的返回地址

javascript - 提交reactjs后如何清空dropzone