1

私のウェブサーバーの名前はmybox.ourcorp.ourdomain.comです。それから、同じサブドメイン内の別のサーバーへのjson呼び出しを試みています--http://otherbox.ourcorp.ourdomain.com/feed

Web サーバーでブラウザーを開いてその URL を貼り付けると、json データが返されますが、問題ありません。しかし、それを入れると$.getJSON()、値が返されません:

        $.getJSON('http://otherbox.ourcorp.ourdomain.com/feed', function (json) {
               storeDataFeed(json); //<----json is null
        });

これは同一生成元ポリシーの問題ですか? それらは同じサブドメインにあるので、そうは思いませんか?

もしそうなら、otherbox私がそのルートに行くためにjsonpで動作するように何らかの方法でセットアップする必要がありますか?

.getJSONその呼び出しが nullを返す理由を調べる方法はありますか? ブラウザ コンソールにメッセージはありません。

4

1 に答える 1

1

はい、異なるサブドメインはクロスドメイン リクエストと見なされます ( http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules )。

ただし、dataType:"jsonp" で $.ajax を使用できるはずです。

$.ajax({
 dataType: "jsonp",
 url: "http://otherbox.ourcorp.ourdomain.com/feed",
 success:function(json) {
   storeDataFeed(json); //<----json is null
 }
});
于 2013-04-02T17:35:16.027 に答える