代码之家  ›  专栏  ›  技术社区  ›  Praveen S

显示检索到的JSON内容时出错

  •  0
  • Praveen S  · 技术社区  · 14 年前

    继续我的问题 here ,我创建了一个测试应用程序,用jquery检查json解析。 好像没用。我可以在click函数中追加数据。然而,从那个url获取数据和解析似乎失败了。有人能提供一些有用的提示吗?

    <html>
    <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      $("button").click(function(){
        $("body").append("<div id = 'data'><ul>jffnfjnkj</ul></div>");
        $.getJSON("http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?callback=function&alt=jsonc&v=2", function(data) {
            var dataContainer = $("#data ul");
            $.each(data.data.items, function(i, val) {
             $("body").append("<div id = 'data'><ul>jffnfjnkj</ul></div>");
    if (typeof(val.player) !== 'undefined' && typeof(val.title) !== 'undefined') {
    dataContainer.append("<li><a href = "+val.player.default+" target = '_blank'>"+val.title+"</a></li>");
            }
            });
            });
    
    
      });
    });
    </script>
    </head>
    
    <body>
    <h2>Header</h2>
    <p>Paragrapgh</p>
    <p>Paragraph.</p>
    <button>Click me</button>
    </body>
    </html>
    

    蒂亚, 普拉文S

    2 回复  |  直到 7 年前
        1
  •  2
  •   Philar    14 年前

    将提供回调,以便您可以绕过同一源策略。因此,检索到的JSON数据包含在函数名中,无法直接解析。下面给出了使用jquery执行此操作的详细信息 here . 请参考下面给出的示例

    <script>
     $.ajax({
             url:'http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=jsonc&v=2&callback=?',
             dataType: "jsonp",
             timeout: 5000,
             success: function(data){
                        alert(data.apiVersion);
                        //add your JSON parsing code here
                      }
    
     });
    
    </script>
    

    请找出工作示例 here .

        2
  •  0
  •   Daniel    14 年前

    url不返回json,就像您不使用 callback=function 对于回调,它使用一个名为jsonp的方法: http://ajaxian.com/archives/jsonp-json-with-padding