首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示检索到的JSON内容时出错

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

Stack Overflow用户
提问于 2010-11-28 23:31:22
回答 2查看 141关注 0票数 0

为了继续我问here的问题,我创建了一个测试应用程序来使用jquery检查json解析。它似乎不起作用。我可以在click函数中追加数据。然而,从该url获取数据并解析似乎失败了。有人能提供一些有用的提示吗?

代码语言:javascript
运行
复制
<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>

TIA,Praveen S

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-28 23:46:32

提供回调是为了让您可以绕过同源策略。因此,检索到的JSON数据包含在函数名中,不能直接解析。有关使用jquery执行此操作的详细信息,请参阅here。请参考下面的示例

代码语言:javascript
运行
复制
<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
EN

Stack Overflow用户

发布于 2010-11-28 23:39:57

url不会像您希望的那样返回json,如果没有带有回调的callback=function,它将使用名为jsonp:http://ajaxian.com/archives/jsonp-json-with-padding的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4297503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档