jquery getJSON function not running
我正在使用 $.getJSON 加载 JSON 文件。该文件似乎已成功加载(我可以在 Firebug 中的标题下方看到其内容,标题为"GET http://siteinfo/data/library.json 304 not modified")。但是,如果我尝试在成功函数中使用 console.log 或 alert 则不起作用):
1 2 3 4 5 6 7 8 | $.getJSON('data/library.json', function(data){ alert('HERE'); console.log(data); $.each(data.library, function(k,v){ console.log(k +"/" + v); }); }); |
所有警报或控制台日志都不起作用。我可能做错了什么?
你得到
服务器端有问题。阅读为什么我在使用 HttpWebRequest 时在某些链接上收到"(304)未修改"错误?了解更多详情。
在 ajax 请求中添加这个错误处理程序。您可以在 ajax 中处理错误。这是与您的
等效的以下功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $.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); } }); |
我认为这是缓存的问题,您可以尝试像这样执行您的请求,关闭缓存
1 2 3 4 5 6 7 8 9 10 11 12 13 | $.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); }); } }); |