我正在尝试从网络Feed中获取一些数据。但是,我收到一个Access-Control-Allow-Origin错误,导致我无法获取必要的feed对象。我的Feed托管在与我的在线应用程序不同的地址。所以,假设我的Feed托管在:myfeedsaddress.com,我的应用程序托管在:myowndomainadd.com。我用来从Feed中获取数据的代码是:
var jxhr = $.getJSON(url, function(data) {
console.log("success!!");
results = []
var obj = $.parseJSON(data);
$.each(obj, function(i,item){
if (item.id == clss) {
results.append(item.id);
}
});
});
运行此代码时出现的错误是:
选项myfeedaddress.com来源myowndomain.com不被允许 访问控制允许来源。 XMLHttpRequest无法加载 myfeedadress.com。来源myowndomain.com不被允许 访问控制允许来源。
有没有办法解决这个错误?注意:我无法修改Feed,我只能修改myowndomain.com。
答案 0 :(得分:1)
这是浏览器强加的跨域限制。它不允许您向托管在不同域下的网站发出Ajax请求。默认浏览器设置在大多数情况下都会阻止这种情况。
一种可能的解决方法是创建一个托管在myowndomain.com下的代理页面,该页面向服务器上的其他域发出请求。然后,您可以通过从getJSON脚本请求代理页面来通过ajax返回该内容。