因此,我实现了一个可供 Web 应用程序和移动应用程序访问的 API 提供程序。
很可能这不会是一个大型项目,但我想最大限度地利用我的学习经验,并尽我所能。
无论如何,据我了解,似乎最好将 API 提供程序服务和实际网站放在不同的域中,以使扩展更容易。例如,twitter 有网站 twitter.com 和 api.twitter.com。
一个直接的问题是处理 AJAX 的跨域问题。据我所知,有两种方法可以实现跨域 AJAX
- JSONP:我听说过,但除了名字之外不知道太多
- 代理服务器:所以,我的网站建立在 ASP.NET MVC 之上,我正在考虑创建一个 APIProxy 控制器来处理所有跨域 API 请求。
这样,我将通过 $.ajax(settings) 进行 AJAX 调用,然后传入与 APIProxy 控制器对应的网站 URL。APIProxy 控制器然后会进行适当的 POST 服务器调用并处理 JSON 响应并将响应返回给 AJAX 回调函数。
我听说flXHR我不想使用 Flash,因为 iPad 等设备或任何许多移动浏览器都不支持 Flash。
无论如何,我只是想问在单独的域或子域上使用 API 提供商管理网站的一些最佳实践是什么。