【发布时间】:2015-06-19 04:09:20
【问题描述】:
似乎无法弄清楚下面的简单 getJSON 调用有什么问题。它在 FF12 中运行良好,但在 IE8 和 Chrome19 中运行良好。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"> </script>
<script type="text/javascript">
$(document).ready(function(){
$.getJSON('data.json',function(result){
alert("success");
});
});
</script>
请注意,以下内容在所有浏览器中都可以正常工作:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"> </script>
<script type="text/javascript">
$(document).ready(function(){
alert("success");
});
</script>
显然,getJSON 调用有问题。
有什么想法吗?
谢谢。
更新: 多亏了 samy.vilar,我才能让它工作。以下是我更正的内容:-
将文件托管到服务器(在本例中为 IIS 7):要发出 AJAX 请求,文件必须托管在服务器上。我试图使用文件系统访问 data.json。
在 IIS 7 中添加了扩展 .json 的 MIME 类型。
做到了。虽然我仍然想知道当我们无法在没有托管的情况下完成 AJAX 请求时,它在 FF 中是如何工作的。
【问题讨论】:
-
检查 javascript 控制台,看看您在请求文件时是否有错误。
-
你的“html文件”的路径是什么,你的“json文件”的路径是什么?
-
@Didier Ghys,没有显示错误。
-
@Op De Cirkel,两者都是本地文件,即不在任何地方托管。
-
你是如何加载它们的?如果你想发出 ajax 请求,你需要某种服务器。
标签: jquery cross-browser getjson