通过ajax请求一个页面 取得返回的json数据
代码如下<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$.ajax({
url:'xxxxxxxxxxxxx',
data:{'short_name':'xxx','threads':'0'},
success:function(data){
//这里开始处理返回的数据
}
})
</script>
请求的url直接打开内容如下 
{
    "response": {
        "4": {
            "thread_id": "xxx",
            "channel_key": null,
            "thread_key": "4",
            "comments": 0,
            "reposts": 0,
            "likes": 0,
            "weibo_reposts": 0,
            "qqt_reposts": 0
        }
    },
    "options": {
        "comments_zero": "暂无评论",
        "comments_one": "1条评论",
        "comments_multiple": "{num}条评论"
    },
    "code": 0
}该怎么处理得到 response 下面的comments的值?  不会用javascript操作json  一碰到这个就晕

解决方案 »

  1.   

    你想取response中的哪些内容呀,
      

  2.   

    $.get("xxx.xxx",{'short_name':'xxx','threads':'0'},function(data){
      alert( data.options.comments_zero )
    },"json")
      

  3.   

    参考2楼的写法,首先要保证你返回的是json<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
      url:'xxxxxxxxxxxxx',
      data:{'short_name':'xxx','threads':'0'},
      dataType: 'json',
      success:function(data){
        //这里开始处理返回的数据
      }
    });
    </script>
      

  4.   

    alert( data.response.4.comments )
      

  5.   

    要写成 data.response[4].comments
      

  6.   

    参考2楼的写法,首先要保证你返回的是json<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
      url:'xxxxxxxxxxxxx',
      data:{'short_name':'xxx','threads':'0'},
      dataType: 'json',
      success:function(data){
        //这里开始处理返回的数据
      }
    });
    </script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
    url:'http://api.duoshuo.com/threads/counts.json',
    data:{'short_name':'zhidemaide','threads':'10'},
    dataType: 'json',
    success:function(data){
    //var x = eval("("+data+")");
    alert(data.options.comments_zero)
    //alert(x.options.comments_zero)
    }
    })
    </script>求再帮忙看看吧..试了半天不行了... 
      

  7.   

    参考2楼的写法,首先要保证你返回的是json<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
      url:'xxxxxxxxxxxxx',
      data:{'short_name':'xxx','threads':'0'},
      dataType: 'json',
      success:function(data){
        //这里开始处理返回的数据
      }
    });
    </script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
    url:'http://api.duoshuo.com/threads/counts.json',
    data:{'short_name':'zhidemaide','threads':'10'},
    dataType: 'json',
    success:function(data){
    //var x = eval("("+data+")");
    alert(data.options.comments_zero)
    //alert(x.options.comments_zero)
    }
    })
    </script>求再帮忙看看吧..试了半天不行了... 
    调试一下脚本,看返回的data到底是什么数据
      

  8.   

    一看就知道是跨了http://api.duoshuo.com/threads/counts.json自己做代理,除非那个页面允许你跨域请求,设置过access-Control-Allow-Origin为*参考:http://bbs.csdn.net/topics/390542772#post-395281727
      

  9.   

    应该可以的啊var data={"response":{"4":{"comments":"xxx"}}};
    alert(data.response[4].comments)
      

  10.   


    一开始在firebug下的网络里看不到返回数据 修改成如下代码可以看到返回的数据了
    但是控制台里报错 SyntaxError: invalid label  求解刚学js没多久 希望大神帮忙费心看看
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
        url:'http://api.duoshuo.com/threads/counts.json',
        data:{'short_name':'zhidemaide','threads':'10'},
        dataType: 'jsonp',
    jsonp:'callback',
        success:function(data){
    alert(11);
        }
    })</script>
      

  11.   


    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    $.ajax({
        type:'get',
        url:'http://api.duoshuo.com/threads/counts.json',
        data:{'short_name':'zhidemaide','threads':'10'},
        dataType: 'json',
        success:function(data){
    alert('11');
        }
    });
    zhidemaide这个是你的域名?
      

  12.   

    官方的文档:http://dev.duoshuo.com/threads/50615732a834c63c56004257
      

  13.   

    看的就是这个文档  只是按照他的url去请求参数 获取不到数据啊 
      

  14.   

    看的就是这个文档  只是按照他的url去请求参数 获取不到数据啊 你是不是在本地调试的,放到你的网站上测试http://api.duoshuo.com/threads/counts.[这个扩展名要和dataType一致呀]
      

  15.   

    看的就是这个文档  只是按照他的url去请求参数 获取不到数据啊 你是不是在本地调试的,放到你的网站上测试http://api.duoshuo.com/threads/counts.[这个扩展名要和dataType一致呀]
    本地网站都试过  都不行
    另外
        dataType: 'jsonp',
        jsonp:'callback',
    不用这两句的话 好像压根不反回数据
      

  16.   

    你没网站呀?哪你的zhidemaide从哪来的。如果dataType=jsonp,哪么连接地址是:http://api.duoshuo.com/threads/counts.jsonp
    如果dataType=json,哪么连接地址是:http://api.duoshuo.com/threads/counts.jsonshort_name是你在doushuo申请的二级域名,你的ajax请求文件必需放在:二级域名.doushuo.com绑定的网站