使用jQuery获取jsonp数据会返回无效的标签错误

时间:2011-07-25 17:51:14

标签: json jquery jsonp

我一直在使用jquery ajax方法来获取json数据。我已经使用了jQuery.getJSON 和jquery.ajax方法但我在控制台中一直收到同样的错误。 标签元素无效我只想在div中显示一些json数据,是否有什么东西 json文件错误,java脚本与其他json文件一起正常工作。我不知道如何解析这个特殊的json文件。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

<script type = text/javascript>         
$(document).ready(function(){
     $.ajax({
        url: 'http://api.yipit.com/v1/deals/?key=TMBYhd3hkzfCntMb&limit=20&division=boston', 
        dataType: 'jsonp',
        success: function(data){
                    console.log(data);
      }
    });

    return;
});

        </script>

我只是试图解析数据,但我无法看到结果。 在控制台中,我收到一条错误,指出 field.deals.url 未定义?
我也能看到jQuery16209054896509423064_1311611178838({在...之上 meta我该如何解析这个文件?

<script type = text/javascript>


    $(document).ready(function(){
         $.ajax({
            url: 'http://api.yipit.com/v1/deals/?key=TMBYhd3hkzfCntMb&limit=20&division=boston&callback=?', 
            dataType: 'jsonp',
            success: function(data){
                        $.each(data.response, function(i, field){
                        $('#display').append('<p>url : ' + field.deals.url+ '</p>');
                                    if ( i == 3 ) return false;
                });
          }
        });

        return;
    });

            </script>

1 个答案:

答案 0 :(得分:2)

删除jsonp: false,您必须在此跨域案例中使用JSONP。

这将有效:

$(document).ready(function(){
     $.ajax({
        url: 'http://api.yipit.com/v1/deals/?key=TMBYhd3hkzfCntMb&limit=20&division=boston', 
        dataType: 'jsonp',
        success: function(data){
            console.log(data);
        }
    });
});

工作示例:jsFiddle

编辑:

交易是你的迭代器而不是响应

success: function(data){
    $.each(data.response.deals, function(i, field){
        $('#display').append('<p>url : ' + field.url+ '</p>');
             if ( i == 3 ) return false;
    });