我正在尝试使用Karl Swedburg为Ajax学习jQuery第4版,更具体地说是JSONP。
我的代码是
$(document).ready(function(){
var url='https://api.github.com/users/jquery/repos';
$.getJSON(url + '?callback=?',function(data){
var content='';
$.each(data,function(index,item){
content +='<div class="userdata">';
content +='<div class="username">'+item.id+'</div>';
content +='<div class="username">'+item.name+'</div>';
content +='<div class="userurl">'+item.url+'</div>';
content +='</div>';
});
$('#dictionary').append(content);
});
});
我检查了开发人员工具,我的请求返回状态200
,请求返回的数据摘录如下所示
{
"id": 5999890,
"name": "2012-dev-summit",
"full_name": "jquery/2012-dev-summit",
//more stuff
}
我已经检查并仔细检查了我的代码,似乎无法弄清楚为什么它返回未定义。
编辑:添加了附加内容
undefined
undefined
undefined
undefined
undefined
undefined
我得到6个undefined,这相当于2次迭代看到每轮输出3个项目,即。 id,name和url。
答案 0 :(得分:1)
尝试以下方法。您将在result.data对象中获得结果。不在结果对象中。
$(document).ready(function(){
var url='https://api.github.com/users/jquery/repos';
$.getJSON(url + '?callback=?',function(result){
var content='';
var data = result.data;
$.each(data,function(index,item){
content +='<div class="userdata">';
content +='<div class="username">'+item.id+'</div>';
content +='<div class="username">'+item.name+'</div>';
content +='<div class="userurl">'+item.url+'</div>';
content +='</div>';
});
$('#dictionary').append(content);
});
});
答案 1 :(得分:0)
试试这个
$(document).ready(function(){
var url='https://api.github.com/users/jquery/repos';
$.getJSON(url + '?callback',function(data){
var content='';
$.each(data,function(index,item){
content +='<div class="userdata">';
content +='<div class="username">'+item.id+'</div>';
content +='<div class="username">'+item.name+'</div>';
content +='<div class="userurl">'+item.url+'</div>';
content +='</div>';
});
$('#dictionary').append(content);
});
});