Twitter json对象未定义(jQuery)
问题描述:
嗨我只是试图通过从Twitter检索搜索结果来做一些简单的AJAX的东西。它正在回收对象,但我似乎无法深入到对象本身并获取信息(如文本)。Twitter json对象未定义(jQuery)
如果我console.log(鸣叫),它列出了所有的对象,但下面的代码只是说“未定义”。我确定我错过了一些容易的事情。
我已经阅读了大量关于这里的问题/答案,但似乎没有人这样做。我看到很多使用.getJSON()方法,但使用.ajax()应该没问题,我会想?
$.ajax({
dataType: 'jsonp',
url: 'http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5',
success: function (data) {
$.each(data, function(i,tweet){
console.log(tweet.text);
//$('#twitter ul').append('<li><a href="' + item.text + '">' + item.from_user_id + '</a></li>');
});
}
});
答
你必须使用data.results
$.ajax({
dataType: 'jsonp',
url: 'http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5',
success: function (data) {
$.each(data.results, function(i,tweet){
alert(tweet.text);
//$('#twitter ul').append('<li><a href="' + item.text + '">' + item.from_user_id + '</a></li>');
});
}
});
你可以找到一个工作样本here。
更新时间:
我认为你是新的JavaScript和JSON数据格式。
由请求http://search.twitter.com/search.json?callback=?&q=twitter&rpp=5
是json格式返回的数据。该请求的响应包含一个键值对。如果您在浏览器中复制粘贴请求url,则可以看到查询的结果。
它以{results:[....]}开头,这意味着json对象包含一系列可以使用键results
访问的项目。
结果数组中的每一项包含下列值
{
"from_user_id_str":"",
"profile_image_url":"",
"created_at":"",
"from_user":"",
"id_str":"",
"metadata":{"result_type":"recent"},
"to_user_id":null,
"text":"",
"id":,
"from_user_id": 0,
"geo":null,
"iso_language_code":"en",
"to_user_id_str":null,
"source":""
}
每个这些键/值的
可以使用tweet.<key name>
所述的$.each(function(i, tweet){ .... })
访问。例如:tweet.from_user_id_str,tweet.text,tweet.source等等
太好了!感谢那。我没有听说过data.results。冒险noob,但有没有其他data.X方法? 当得到我的美味书签(也JSON),我并不需要data.results。 '数据'工作正常。 – Leads