javascript - jQuery 与浏览器的同源策略(使用 OData)

标签 javascript jquery odata same-origin-policy

我正在构建一个 AJAX 应用程序来查询 OData 端点。我一直在使用 Netflix OData 提要进行一些测试,发现了一些我没有得到的东西:

当我向 url 发出 .ajax() 请求时(例如 http://odata.netflix.com/v1/Catalog/Titles ),我收到错误消息:“Access-Control-Allow-Origin 不允许 Origin null”。但是,当我将相同的 url 放入浏览器时,请求会通过并得到响应。

我没有理解的根本区别是什么?浏览器如何绕过同源策略?

最佳答案

我还为 Netflix 的 OData 使用了 JSONP。它似乎适合我的应用程序。我已经把代码和解释贴在我的博客下了http://bit.ly/95HXLM

下面还有一些示例片段:

49.        // Make JSONP call to Netflix
50.     $.ajax({
51.            dataType: "jsonp",
52.            url: query,
53.            jsonpCallback: "callback",
54.            success: callback
55.            });
56.        });
57. 
58.    function callback(result) {
59.        // unwrap result
60.        var movies = result.d.results;
61. 
62.        $("#movieTemplateContainer").empty();
63.        $("#movieTemplate").tmpl(movies).appendTo("#movieTemplateContainer");
64.    }

关于javascript - jQuery 与浏览器的同源策略(使用 OData),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080655/

相关文章:

javascript - JQuery 追加元素超出父 div 宽度?

javascript - 使用javascript单击按钮更改元素的背景颜色样式

javascript - setTimeout 中的 Jquery 单击处理程序

javascript - 如何在Breezejs中查询和扩展多态导航集合属性

c# - Web API OData - ODataMediaTypeFormatter MediaTypeResolver 不再存在

javascript - 如何将字符串转换为特定分隔符下的数组

javascript - Angular JS View 不更新

使用宽度时 jQuery 动画故障 : "hide" + width: "show"

javascript - 绑定(bind)事件监听函数,以后需要调用该函数吗?

javascript - XMLHTTP 查询中的 "Resource not found for the segment *publisherguid*"用于在 CRM 中创建解决方案