getJSON() 函数在 CHROME浏览器下不执行

carilove 2011-05-31 08:41:59

<html>
<head>
<title>feasibility test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){

$.getJSON("json.json", function(json){
alert("status: "+json.status);
});
});
});
</script>
</head>

<h1> Testing Page</h1>

<div id="button">
<button type="button">DISTANCE</button>
</div>

<div id="myDiv"></div>



这段代码 会读取本地的 JSON 文件,然后返回文件中的 status的值。 在 IE 浏览器下 能正确得到结果 OK,在CHROME下午反应。
本段测试程序的目的是为了 测试 ajax.getJSON 能否 跨域获取数据,但是现在连本地的数据都得不到,求解答


JSON 文件如下


{
"status" : "OK"
}




...全文
613 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2011-06-08
  • 打赏
  • 举报
回复
是谷歌禁止访问本地
michaelliuyang 2011-06-08
  • 打赏
  • 举报
回复
学习!
周凯_csdn 2011-06-02
  • 打赏
  • 举报
回复
同意ls,安全问题,看看IE8,你用JS读取本地文件肯定是访问不到的。
vivi沧海月明 2011-06-02
  • 打赏
  • 举报
回复
这个严格上说不是bug,而是安全问题。
在Chrome浏览器的一个页面中,用脚本读取:C:\这样的本地文件是被禁止的。如果不禁止,那么用户在浏览恶意网页的时候可能用户信息被泄露。
carilove 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fengyun817 的回复:]

楼主用chrome的javascript 控制台yunx
$.getJSON("json.json", function(json){
alert("status: "+json.status);
});
可以看到如下输出:
XMLHttpRequest
XMLHttpRequest cannot load fi……
[/Quote]

谢谢你的回复,我用CHROME 调试了下,发现是这个问题,然后GOOGLE搜了下,人家说这是 CHROME 自身的BUG,禁用 WEB SECURITY 就能解决。
fengyun817 2011-05-31
  • 打赏
  • 举报
回复
楼主用chrome的javascript 控制台yunx
$.getJSON("json.json", function(json){
alert("status: "+json.status);
});
可以看到如下输出:
XMLHttpRequest
XMLHttpRequest cannot load file:///C:/Users/liulei/Desktop/other/json.json. Origin null is not allowed by Access-Control-Allow-Origin.

具体参考:
http://dev.w3.org/2006/waf/access-control/

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧