【发布时间】:2012-05-21 18:51:49
【问题描述】:
我在域 api.example.com 上有一个 REST API 服务。并且想将此 api 用于我在 www.example.com 上的 javascript ajax 请求。
我使用 CORS 构建了我的 jQuery AJAX 请求(GET、POST、PUT 和 DELETE),并且在 firefox 和 chrome 上一切正常。我在 Opera 上测试了脚本,但没有加载任何内容。在此之后,我阅读了一些在线文章,不得不意识到 CORS 不适用于 Opera。
有哪些替代方法可以将数据获取和放置到 Rest 服务? JSONp 不起作用,因为我还需要其他 HTTP 动词(POST、PUT、DELETE)。
在同一个域上创建一个“隧道”php-Script?但是,我有更多的网络流量和服务器负载。
Client -> WWW-Server -> API-Server
API-Server -> WWW-Server -> Client
而不是
Client -> API-Server
API-Server -> Client
感谢与我分享的每一个创意。
【问题讨论】:
-
我认为您涵盖了所有选项(CORS、JSONP、代理)。
-
我不检查,但 Opera 12 支持 CORS:dev.opera.com/articles/view/…
-
Opera 的实际稳定版本是 11.xx,不支持 CORS。但我也想支持这个版本(当然还有用户)并寻找解决方法。
标签: php javascript ajax browser cors