使用Jquery提取JSON数据

时间:2011-12-29 23:41:23

标签: jquery json

我有一个json文件存储在一个静态url中,我想抓住它并拉出我们的数据对象。

<div id="content"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $.getJSON('https://s3.amazonaws.com/wallyball_production/comedy.json', function(data){
            $("#content").html(data);
        });

    });
  </script>

这不输出任何东西?我很快就做到了,不知道为什么我什么都没看到?

2 个答案:

答案 0 :(得分:2)

跨域AJAX调用需要jsonp(或编写代理服务器端脚本)。只要远程服务器设置正确(我认为亚马逊会这样),使用jQuery就很容易了:

$.ajax({
    url      : 'https://s3.amazonaws.com/wallyball_production/comedy.json',
    dataType : 'jsonp',
    success  : function (data) {
        //$('#content').html(data);
        for (var i = 0, len = data.length; i < len; i++) {
            //`data[i].something` will access the `something` property an index of the JSON returned
        }
    }
});

请注意,您将获得JSON作为响应,因此您需要在将其附加到DOM之前对其进行迭代。

以下是jQuery的$.ajax()http://api.jquery.com/jquery.ajax

的文档

答案 1 :(得分:1)

由于same-origin policy,您的网络应用程序无法与其他域中的内容进行互动。

您需要通过您的网络服务器代理请求(然后联系亚马逊并返回结果),或使用JSONP