0

外部サーバーで単純な json を読み込もうとしています。Firebug Net パネルでは、[応答] タブと [JSON] タブに正しいデータが表示されています。しかし、成功関数は実行されません。

Callback が次のように表示されています:fullurl?callback=jQuery1710837256851301949_1334637212326&_=1334638519052関数としてではなく - 理由がわからない - これが問題になる可能性がありますか?

私のコード:

$.ajax({
    type: "GET",
    url: "external url",
    dataType: "jsonp",
    data : {},
    success: function (data) {
        console.log('success');
        alert("success");
        //   var myname = data.name;
        //   var myid = data.id;
        //     var fullcontent= "Name: " + myname + " ID: " + myid;
        // $("#jsondata").html(fullcontent);
    }
});

助けてください - ありがとう

4

1 に答える 1

2

コールバック関数を success ではなく jsonpCallback として指定する必要があります。

$.ajax({
        type: "GET",
        url: "external url",
        dataType: "jsonp",
        data : {},
        jsonpCallback: function (data) {
            console.log('success');
            alert("success");
        }
});

編集

JSONP が正しく機能するためには、サーバーが直接 JSON データをストリームに書き込む必要があります。JSON 文字列を出力するべきではありません。この質問の詳細。

サーバーでストリームに適切に書き込んでいると想定しています。そうですか。

于 2012-04-17T05:14:06.993 に答える