[英]jquery getJSON function not running
我正在使用$ .getJSON加载JSON文件。 该文件似乎已成功加载(我可以在Firebug中的标题为“ 未修改 GET http://siteinfo/data/library.json 304”的标题下看到其内容)。 但是,如果我尝试使用console.log或成功功能内部的警报,则它不起作用):
$.getJSON('data/library.json', function(data){
alert('HERE');
console.log(data);
$.each(data.library, function(k,v){
console.log(k + "/" + v);
});
});
没有任何警报或console.logs在工作。 我可能做错了什么?
我认为这是缓存问题,您可以尝试执行这样的请求,然后关闭缓存
$.ajax({
dataType: "json",
type: "get",
url: 'data/library.json',
cache:false,
success: function(data){
alert('HERE');
console.log(data);
$.each(data.library, function(k,v){
console.log(k + "/" + v);
});
}
});
您正在获取304
状态代码。 这就是为什么响应不会进入success
函数而转到error
函数的原因,因为error
是请求失败时要调用的函数。
服务器端出了点问题。 阅读为什么使用HttpWebRequest时某些链接上出现“(304)Not Modified”错误? 更多细节。
在ajax请求中添加此错误处理程序。 您可以处理ajax中的错误。 这是等效于您的getJSON
以下函数
$.ajax({
type: "get",
url: "data/library.json",
datatype: "json"
success: function (data, text) {
alert('HERE');
console.log(data);
$.each(data.library, function(k,v){
console.log(k + "/" + v);
});
},
//add this error handler you'll get alert
error: function (request, status, error) {
alert(request.responseText);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.