尝试通过JQuery获取JSON数据时无法从错误中获取信息,

时间:2011-09-24 00:29:42

标签: jquery ajax json api

对于我的生活,我无法弄清楚为什么我在使用下面的bode位进行AJAX请求时会出现错误。当页面加载,并且警告弹出绝对没有关于请求失败原因的有用信息时,响应代码在firebug中为200,readyState,并且弹出时状态为0,并且responseText为空。我可以使用浏览器访问请求就好了。我只是去了错误回调函数:

<script src="/static/js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {

    function loadData(url, container) {
        var data =[];

        $.ajax({
            url: url,
            dataType: 'json',
            data: data,
            success: function(data) {
                var obj = jQuery.parseJSON(data,container);
                alert(container);   
            },
            error: function(xhr,err) {
                alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
                alert("responseText: "+xhr.responseText);

            }
        });
    };

    loadData( 'http://api.giantbomb.com/genres/?api_key=####&format=json', '#genres-pane');

});


</script>

提前谢谢

2 个答案:

答案 0 :(得分:1)

看起来您正在尝试以JSON的形式执行跨域请求,这意味着在后端使用XmlHttpRequest。由于same origin policy,这是不允许的。尝试将您的数据类型更改为“jsonp”。您还需要将您的网址format参数从“json”更改为“jsonp”。

答案 1 :(得分:-1)

Firefox的FireBug会显示所有请求,帖子,回复等。对于这类内容非常有用。