javascript – 使用jQuery.support.cors = true的跨域脚本编写

我一直在研究展示跨域脚本的各种示例,并遇到了我想使用jQuery.support.cors = true以及Ajax调用从Web服务检索数据的情况.我有一个工作using jsonp的webservice的例子,我认为添加jQuery.support.cors = true很简单,将dataType更改为“json”,并删除& $callback =?来自网址.我可以看到Web服务(Netflix)带有预期数据的响应,但是当ajax调用返回时,它执行错误函数而不是成功.

我原本以为webservice可能没有合适的cors头,但我倾向于认为收到的格式化响应等同于现有的头.也许我没有正确格式化成功/错误函数,而Ajax结果不喜欢这样.

这是the fiddle,它试图使用jQuery.support.cors无济于事.

解决方法:

来自:curl -i“http://odata.netflix.com/v2/Catalog/Titles?$select=Name,Runtime,ReleaseYear\u0026amp;$filter=dark\u0026amp;$orderby=Name\u0026amp;$format=json”

Cache-Control: private
Content-Length: 3386076
Content-Type: application/atom+xml;charset=utf-8
Expires: Tue, 01 May 2012 14:37:06 GMT
Vary: *
Server: Microsoft-IIS/7.0
DataServiceVersion: 2.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 01 May 2012 14:36:37 GMT

没有与CORS相关的标题. Netflix不允许CORS请求.

上一篇:javascript – 使用命名函数作为jQuery中$.getJSON的回调来满足Facebook请求签名要求


下一篇:gulp为css,js添加版本号