2

我最近一直在尝试构建一个跨域 web api,哇,这是一段坎坷的旅程。我对 Chrome、FF 和 Safari 等现代浏览器没有任何问题。问题在于 IE,它要求您在进行跨域调用时使用 XDR 而不是 $.ajax。第一个问题:如果我使用的是 Backbone.js,那么进行跨浏览器和跨域 ajax 调用的推荐方式是什么?

我在 IE 上遇到的另一个问题是,当您发出跨域 ajax 请求时,IE 有很多限制和限制,例如“请求的 Content-Type 标头仅支持文本/纯文本” -一个链接。因此,就我而言,我无法使用 MVC C# 框架绑定到我的模型,除非我手动绑定它。

无论如何,我的第二个也是最后一个问题是:像 Instagram、Facebook 和 Twitter 这样的公司如何构建他们的 API?我不是在寻找完整的指南,只是想知道它有多难。

4

1 回答 1

1

JSONP

当前标准使用JSONP。发送包装在单个 JavaScript 函数中的 JSON 有效负载基本上是一种技巧,浏览器将其视为脚本文件并执行它。

CORS

前进的道路是CORS。遗憾的是,浏览器支持 (IE) 尚不存在,并且实现它的现代浏览器之间仍然存在一些实现差异。

HTTP 方法重载

一些 API 过载GET并使用orPOST请求。X-HTTP-Method-Override: PUT?_method=PUT

易XDM

许多 API 提供者实现了 easyXDM。当他们提供 JavaScript API 或小部件 API 时,这往往会被更多地使用,开发人员可以在其中加载他们的 JS 并将其直接集成到前端代码中。

于 2012-04-06T18:10:51.293 回答