0

getJson を使用して URL を読み取ろうとしています。成功関数もエラー関数も起動しません。

var url = "http://demo.dreamacc.com/TextTable.json?callback=?";
            $.ajax({
                type: 'GET',
                url: url,
                async: false,
                jsonpCallback: 'jsonCallback',
                contentType: "application/json",
                dataType: 'jsonp',
                success: function (ooo) {
                    alert('hi');
                    alert(ooo);
                },
                error: function () {
                    alert('w');
                }
            });

しかし、このURLを読もうとすると

http://api.twitter.com/1/statuses/user_timeline/codinghorror.json?callback=?

それはうまくいきます

4

1 に答える 1

4

エンドポイント (要求された URL、http://demo.dreamacc.com/TextTable.json ) は、JSONP リターンをサポートしていません。

JSONP リクエストを使用して、この Web サイトからデータを取得することはできません。


JSONP は、JSON オブジェクトを関数呼び出し ( callbackGET パラメーターで定義された関数名) 内にラップするようにリモート サーバーに指定することによって機能します。エンドポイントがこれをサポートしておらず、その応答を適切に変更している場合、JSONP を使用してそのサイトからデータを取得することはできません。

例:

Twitter (JSONP をサポート): [通常の JSON | JSONP ]

demo.dreamacc (JSONP をサポートしていません): [通常の JSON | 動作しない JSONP ]

ご覧のとおり、demo.dreamacc.com エンドポイントは関数呼び出し内に応答をラップしません。

于 2013-02-03T14:32:25.497 に答える