function checkDatabase(){
var query = document.getElementById("input").value;
var modQuery = query.split("@")[1];
var url = "http://www.somesite.com/index.html/?id="+modQuery;
$.getJSON(url, function(data) {
$.each(data, function(i, item) {
console.log(item);
if(item.length < 1){
return false;
} else {
searchResult = {
'name':item[0].screen_name,
'loc':item[0].location,
'tweet':item[0].tweets[0].tweet_text
};
return true;
}
});
});
}
function searchForUser(){
var result = checkDatabase();
console.log(result);
if(result){
console.log(searchResult);
} else {
input.setCustomValidity("Sorry it seems you haven't tweeted about every1speaks yet!");
}
}
我不明白它會錯在這裏,我已經看到了在AJAX調用的建議是異步(這是否意味着它們發生時,頁面加載?)我如何調整這個工作?爲什麼我的函數返回「不確定」,而不是布爾
哪裏是在'checkDatabase'(=無返回值)'return'聲明?異步請求的回調方法在哪裏? (=沒有預期的回報值)。 – 2012-01-06 11:50:43
AJAX調用異步意味着它們在正常代碼流之外運行。通常,你的代碼從上到下運行,如果你調用一個函數,代碼不會繼續運行,直到函數完成。但AJAX調用只是暫時停止你的代碼,他們不會等待AJAX調用加載。代碼繼續,然後當AJAX調用完成時,它會運行您傳遞給它的函數。 – 2012-01-06 11:51:49