Vic*_*tor 0 javascript variables jquery
我有这个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;
}
Run Code Online (Sandbox Code Playgroud)
在第一个控制台日志中,我searchResultsCoutner
有一个很好的值,在第二个日志中,它变为0.为什么会发生这种情况?
ajax请求是异步执行的,因此success
稍后将执行尝试更改变量的回调函数.
您的函数只返回0.您必须重写您的代码,它以异步方式工作.一种方法是将回调函数searchPerson
作为参数传递.