jsonp问题 - 成功函数不执行

时间:2012-04-17 05:07:40

标签: jquery jsonp

我正在尝试在外部服务器上读取一个简单的json。在Firebug Net Panel中,我在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);
    }
});

请帮忙 - 谢谢

1 个答案:

答案 0 :(得分:2)

您需要将回调函数指定为jsonpCallback而不是成功。

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

修改

为使JSONP正常工作,服务器应直接在流中写入JSON数据。它不应该打印JSON字符串。有关此question

的详细信息

我假设你正在服务器中正确地写入流。是这样的吗?