我有这个jQuery函数:
var searchResultsCounter = 0;
function searchPerson(filterText){
//code
$.ajax({
type: "GET",
dataType:"json",
url: "res/main.php",
data: { command : "loadPeople",
filter: filterText },
success: function( people ){
for(var i = 0; i< people.length; i++){
//code
}
searchResultsCounter = people.length;
console.log(searchResultsCounter);
}
});
console.log(searchResultsCounter);
return searchResultsCounter;
}
在第一个控制台日志中,我的
searchResultsCoutner
具有很好的值,在第二个日志中,它变为0。为什么会发生这种情况? 最佳答案
Ajax请求是异步执行的,因此尝试更改变量的success
回调函数将在以后执行。
您的函数仅返回0。您必须重写代码以使其以异步方式工作。一种方法是将回调函数作为参数传递给searchPerson
。