电话看起来像是这样
$.ajax({
url: url,
crossDomain: true,
dataType: 'jsonp',
success: function(){console.log('success');}
})
从服务器代码中可以这样
string data = callback + "(" jsonData + ")";
send("application/javascript",data);
jsonData有效,我很确定。我已经在网上测试了许多json验证器。我也尝试在服务器代码中将内容类型从application / javascript切换到application / json,但它没有区别。
我有这个工作的唯一方法是覆盖发送我的jquery的回调函数,并且让它不是调用jquery成功函数,而是调用我自己的全局函数。以下是该解决方法的代码
$.ajax({
url: url,
crossDomain: true,
dataType: "jsonp",
jsonpCallback: "onMyDataReceived"
})
function onMyDataReceived(jsonData){ doStuff(jsonData ); }
但我觉得这更像是一个黑客,而不是让它自然地从$ .ajax.sucess函数流出来。有关为什么第一个代码段会出错的任何帮助?
答案 0 :(得分:0)
我真的不确定为什么第一个片段不起作用,但尝试以下
$.getJSON(url+"&callback=?",function(data){ console.log(data);})
在我的案例中工作。