我正在尝试根据id获取一个twitter用户名列表,但我不能让jquery解析为twitter api返回的json数据。而不是显示我得到的名称:[object Object]。我检查了结果,看起来它是有效的json数据。我需要帮助了解如何使用数据。
这是我正在使用的代码:
$.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'twitter-names-list',
html: items.join('')
}).appendTo('#follower-names');
});
答案 0 :(得分:0)
我很确定你需要使用JSONP而不是JSON。通常你不能进行跨域的ajax调用,这可能是这里失败的。这是一个很好的article on the subject
IIRC您只需将&callback=?
添加到您的GET请求即可。这会使您的请求$.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715&callback=?',...
jQuery会用动态函数替换?
以处理数据,它应该更适合你
答案 1 :(得分:0)
将&callback=?
添加到网址以检索数据
$.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715&callback=?', function(data) {
console.log(data);
});
答案 2 :(得分:0)
我没有使用过API,但从查看https://dev.twitter.com/docs/api/1/get/users/lookup开始,结果似乎是一个对象数组。如果我正确地读取您的代码,则表明您正在迭代数组,而不是数组中对象的属性。我会将您当前的$.each()
电话打包在
for( var x = 0; x < data.length; x++ )
{
$.each(data[ x ], function(key, val){
...
});
}