0

我正在尝试在外部服务器上读取一个简单的 json。在 Firebug 网络面板中,我在 Response 和 JSON 选项卡中看到了正确的数据。但是成功函数没有执行。

回调显示为: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

您需要将回调函数指定为 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 回答