getJson()不能用于chrome
当getJson j-query方法在所有其他浏览器中工作时,它在chrome中不起作用
以下是我的代码
$(document).ready(function(){ $.getJSON('aptitude14.json',function(data){ /// my code goes here
}; };
我得到的错误是铬
我的JSON文件位于同一个文件夹中
您正尝试使用file:
protocol从客户端计算机读取文件,这是不安全的。 它在Chrome中不起作用,因为Chrome比其他浏览器更关心安全问题。 在我看来,你正在尝试创建一个样本ajax。
您可以做的只是禁用chrome中的网络安全性,如果只是一个示例测试,请使用此参数在命令行中打开Chrome: – disable-web-security
如果它不是样本测试,则必须将文件放在可以访问它的服务器上,并使用http ajax调用而不是文件ajax调用。
如果您在Web上遇到此问题,则可以使用JSONP或启用CORS来修复它。 但在文件协议中,我可以为您提供伪造JSONP调用,如下所示:
– 首先你json文件是这样的:
[{ name : "abc" //... }, { name : "efg" //... }]
将其更改为(将其包装在函数调用中):
callback([{ name : "abc" //... }, { name : "efg" //... }])
然后这样做而不是jQuery ajax调用:
window.callback = function(jsonObj){ // }; var script = document.createElement('script'); //since this is a fake jsonp call you don't need to add ?callback=callback to url script.src = 'aptitude14.json'; document.getElementsByTagName('head')[0].appendChild(script);