我正在尝试在外部服务器上读取一个简单的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);
}
});
请帮忙 - 谢谢
答案 0 :(得分:2)
您需要将回调函数指定为jsonpCallback而不是成功。
$.ajax({
type: "GET",
url: "external url",
dataType: "jsonp",
data : {},
jsonpCallback: function (data) {
console.log('success');
alert("success");
}
});
修改:
为使JSONP正常工作,服务器应直接在流中写入JSON数据。它不应该打印JSON字符串。有关此question。
的详细信息我假设你正在服务器中正确地写入流。是这样的吗?