1

ajax リクエストを使用して別のサーバー上のリソースにアクセスする必要がある html ページがあります。

    $.ajax({
        url: "externalUrl/myjson.js",       

        }); 

しかし、「同一オリジン ポリシー」のため、リソースにアクセスできません。回避策として、別のサーバー上の新しいページにリダイレクトするだけの html ページを変更しました。この新しいページは、同じオリジンから発行されているため、問題なく ajax リクエストを呼び出します。これは受け入れられる回避策ですか?

4

2 に答える 2

2

Same Origin Policy は法律でも何でもなく、XSRF などを防ぐためにブラウザーに組み込まれている手段にすぎません。自分に合った回避策を見つけた場合、それについて「受け入れられない」ことは何もありません。

于 2012-08-01T15:11:41.053 に答える
0

jQuery.ajax の dataType 属性にjsonpを使用してみてください。リモート サーバーも jsonp をサポートする必要があります。XSS を防止するブラウザのセキュリティを回避します。

これにより、XSS のブラウザー セキュリティを回避できます。これを機能させるには、呼び出し先の URL も jsonp を返す必要があります。

$.ajax({
        url: "externalUrl/myjson.js",       
        dataType: jsonp
        }); 
于 2012-08-02T17:41:11.150 に答える