获取JSON提要结果:Access-Control-Allow-Origin不允许使用Origin

时间:2013-10-15 04:29:00

标签: javascript json rss

我正在尝试从网络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。

1 个答案:

答案 0 :(得分:1)

这是浏览器强加的跨域限制。它不允许您向托管在不同域下的网站发出Ajax请求。默认浏览器设置在大多数情况下都会阻止这种情况。

一种可能的解决方法是创建一个托管在myowndomain.com下的代理页面,该页面向服务器上的其他域发出请求。然后,您可以通过从getJSON脚本请求代理页面来通过ajax返回该内容。