似乎无法弄清楚下面的简单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中是如何工作的。
答案 0 :(得分:3)
由于IIS默认情况下不支持json,您可以尝试将data.json重命名为data.html,这样IIS就不会抱怨;)...只需将getJSON更新为$.getJSON('data.html,...
如果您想启用.json文件扩展名,只需按照此说明操作即可。
Open the properties for the server in IIS Manager and click MIME Types
Click "New". Enter "JSON" for the extension and "application/json" for the MIME type.
答案 1 :(得分:0)
这与D3.js加载本地json数据的问题相同。
D3.js的补丁可以在这里找到:
https://github.com/jasondavies/d3/commit/95b1eaaf68a1e75e6cf95b88d7e4bbc834b8489d
正在应用的补丁使本地json数据正常工作。
我希望这些补丁也可以应用于jquery-1.7.2
我使用jQuery-1.7.2的jQtouch b4遇到了同样的问题。以前版本的jQTouch b1使用jQuery-1.3.2工作正常。
答案 2 :(得分:0)
如何按照ubuntu中的以下说明进行操作? 在IIS管理器中打开服务器的属性,然后单击“MIME类型” 点击&#34;新&#34;。输入&#34; JSON&#34;对于扩展和&#34; application / json&#34;对于MIME类型。