Javascript 获取JSON数据并将其放入HTML标记中
我试图解决一个关于JSON数据的问题(获取并发布)。贝娄我张贴了我的代码,但它不工作,我不知道为什么?我与Firebug进行了检查,并说它没有问题:Javascript 获取JSON数据并将其放入HTML标记中,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我试图解决一个关于JSON数据的问题(获取并发布)。贝娄我张贴了我的代码,但它不工作,我不知道为什么?我与Firebug进行了检查,并说它没有问题:200ok sourceforge.net 1.4kb216.34.181.60:80 我想做的是从sourceforge项目中获取一些统计数据,并将其放入div标记中 该链接是有效的json(http://sourceforge.net/projects/rdss/files/stats/json?start_date=2010-12-01&end
200ok sourceforge.net 1.4kb216.34.181.60:80
我想做的是从sourceforge项目中获取一些统计数据,并将其放入div标记中
该链接是有效的json(http://sourceforge.net/projects/rdss/files/stats/json?start_date=2010-12-01&end_date=2012-11-24
)
...
$(函数(){
$(文档).ready(函数(){
$.getJSON(“http://sourceforge.net/projects/rdss/files/stats/json?start_date=2010-12-01和结束日期=2012-11-24“,功能(数据){
$.each(data.posts,function(i,data){
var div_data=“”+data.oses+”;
$(div_数据);
});
});
返回false;
});
});
这是一个跨域问题。检查控制台。您需要在服务器端编写一个代理才能四处走动。根据服务器端语言,您可以用谷歌搜索代理代码段。您正在尝试执行跨浏览器请求:
因此,getJSON
失败并引发异常。。看
当这种情况发生时,你可以解决
但对于这项变通工作,你知道,不幸的是sourceforge不是
您可以通过检查响应头看到这一点。它具有键访问控制允许原点:
通常,您可以通过访问浏览器中的开发人员工具来实现这一点:-选择网络选项卡。
-识别JSON页面并选择。
-打开标题选项卡
-转到响应标题部分 请参见一个示例:
显然,
oses
是一个数组数组,没有posts
属性。最好先将对象转储到控制台以查看其内容:console.log(data)
在getJSON()
回调中检查$(函数(){/code>和$(文档)。准备好(函数(){
是冗余的:
<html>
<head>...</head>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function() {
$(document).ready(function() {
$.getJSON("http://sourceforge.net/projects/rdss/files/stats/json?start_date=2010-12-01&end_date=2012-11-24", function(data) {
$.each(data.posts, function(i,data) {
var div_data = "<div>"+data.oses+"</div>";
$(div_data).appendTo("#testjson");
});
});
return false;
});
});
</script>
<div id="testjson"></div>
</body>
</html>