我的代码看起来像这样:
$.get('http://files.mysite.com/data.json',function(data) { console.log(data); },"jsonp");
当我从Firebug查看网络菜单时,我可以看到对我的JSON文件的有效调用,当我打开它时,它会获得所有信息.
但控制台保持沉默.没有AJAX调用的迹象,也没有我的数据记录.
我的AJAX调用与我的JSON文件不在同一个域中.这就是为什么我使用jsonp
有任何想法吗??
我不完全确定你的问题是什么,如果你得到一个结果但是控制台保持安静你可能会遇到JSON本身的问题…尝试
JSONLint来查找问题.
原文链接:https://www.f2er.com/ajax/159907.html另外我建议你不要使用getJson等.
$.ajax({ url: http://files.mysite.com/data.json,dataType: 'jsonp',cache: false,beforeSend: function () { console.log("Loading"); },error: function (jqXHR,textStatus,errorThrown) { console.log(jqXHR); console.log(textStatus); console.log(errorThrown); },success: function (data) { console.log('Success'); console.log(data); },complete: function () { console.log('Finished all tasks'); } });
这样你就可以获得一些错误处理和其他漂亮的小功能,你可以通过beforeSend添加一个加载微调器,并通过完整删除它:)
编辑:
用下面的错误函数替换错误函数,这应该让我们更好地了解问题是什么:)
error: function (jqXHR,errorThrown) { console.log(jqXHR); console.log(textStatus); console.log(errorThrown); }