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