我試圖在使用PhoneGap(0.9.6)和jQuery(1.6.1)的移動設備上使用特定的哈希標籤獲取最後50條推文。這裏是我的代碼:無法使用PhoneGap和jQuery獲取twitter的json結果
function getTweets(hash, numOfResults) {
var uri = "http://search.twitter.com/search.json?q=" + escape(hash) + "&callback=?&rpp=" + numOfResults;
console.log("uri: " + uri);
$.getJSON(uri, function(data) {
var items = [];
if(data.results.length > 0) {
console.log("got " + data.results.length + " results");
$.each(data.results, function(key, val) {
var item = "<li>";
item += "<img width='48px' height='48px' src='" + val.profile_image_url + "' />";
item += "<div class='tweet'><span class='author'>" + val.from_user + "</span>";
item += "<span class='tweettext'>" + val.text + "</span>";
item += "</div>";
item += "</li>";
items.push(item);
});
}
else {
console.log("no results found for " + hash);
items.push("<li>No Tweets about " + hash + " yet</li>");
}
$("#tweetresults").html($('<ul />', {html: items.join('')}));
});
}
此代碼在瀏覽器中工作良好,並在iPhone模擬器中工作了一段時間。現在它不適用於iPhone或Android模擬器。我沒有看到任何控制檯日誌,它仍然可以在瀏覽器中使用。
我在做什麼錯?如果無法在使用PhoneGap的移動設備上調用getJson()
,我的替代方案是什麼(希望不訴諸本機代碼 - 這會超出目的)。
獎勵:我該如何在移動模擬器上進行調試?在瀏覽器中,我使用開發工具或Firebug,但在模擬器中,如前所述,我甚至沒有看到日誌消息。
一如往常,感謝您的時間,
蓋伊
更新:
作爲@格雷格直覺,功能並沒有被調用。這裏是我的發現,我如何繞過它:
我有這個<a>
元素在HTML <a href="#" id="getTweets">Get tweets</a>
然後,我有這樣的代碼在$(document).ready()
功能:
$("#getTweets").click(function() {
var hash = "#bla";
getTweets(hash, 50);
});
這並沒有調用該函數。但是,一旦我改變了代碼:
function gt() {
var hash = "#bla";
getTweets(hash, 50);
}
和我的HTML:
<a href="javascript:gt()" id="getTweets">Get Tweets</a>
現在它工作和打算調用Twitter的。我不知道是什麼東西搞砸與特定的點擊()綁定,但我之前遇到類似的問題與PhoneGap。任何想法都表示讚賞。
該功能絕對稱爲。我運行在瀏覽器中運行的相同HTML/JS。而且我沒有辦法在iPhone或Android模擬器上閱讀日誌 - 消息無處可去。 –
@Traveling - 你有沒有試過(不寒而慄)'alert()'? – Greg
是的,我顫抖(:)並嘗試 - 在模擬器中沒有任何顯示。 –