0

Web フィードからデータを取得しようとしています。しかし、Access-Control-Allow-Origin エラーが発生し、必要なフィード オブジェクトを取得できません。フィードがオンライン アプリとは異なるアドレスでホストされています。たとえば、フィードが myfeedsaddress.com でホストされ、アプリが myowndomainadd.com でホストされているとします。フィードからデータを取得するために使用するコードは次のとおりです。

        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 は、Access-Control-Allow-Origin によって許可されていません。XMLHttpRequest は myfeedadress.com を読み込めません。オリジン myowndomain.com は Access-Control-Allow-Origin で許可されていません。

このエラーを回避する方法はありますか? 注: フィードを変更することはできません。myowndomain.com のみを変更できます。

4

1 に答える 1

1

これは、ブラウザーによって課されるクロス ドメイン制限です。別のドメインでホストされているサイトに対して ajax 要求を行うことはできません。ほとんどの場合、デフォルトのブラウザー設定により、これが防止されます。

考えられる回避策の 1 つは、myowndomain.com でホストされるプロキシ ページを作成し、サーバー上の他のドメインにリクエストを送信することです。getJSON スクリプトからプロキシ ページをリクエストすることで、ajax 経由でそれを返すことができます。

于 2013-10-15T04:32:16.007 に答える