1

JSONデータを取得するJavaScriptがあります。ローカルで実行すると、すべてが正常に機能しているように見えます。ただし、別のサイトからアクセスしようとすると動作しません。

これがスクリプトです。

$(function(){
    var aT = new AjaxTest();
    aT.getJson();
});

var AjaxTest = function()
{
    this.ajaxUrl = "http://mydeveloperpage.com/sandbox/ajax_json_test/client_reciever.php";

    this.getJson = function(){
        $.getJSON(this.ajaxUrl, function(data){
            $.each(data, function(i, piece){
                alert(piece);
            });
        });
    }
}

まったく同じファイルのコピーは、「http://mydeveloperpage.com/sandbox/ajax_json_test/」にあります。

どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

3

ドキュメントから:

  • ブラウザのセキュリティ制限により、ほとんどの「Ajax」リクエストには同一生成元ポリシーが適用されます。リクエストは、別のドメイン、サブドメイン、またはプロトコルからデータを正常に取得できません。

  • スクリプトとJSONPリクエストは、同一生成元ポリシーの制限の対象ではありません。

同一生成元ポリシーを通過するには、JSONPを使用する必要があります。jQueryはこれをシームレスにすることができます(前述のドキュメントページの残りの部分を参照してください)。

于 2010-06-14T16:19:40.290 に答える