Этот вопрос, возможно, связан с вопросом, который я задал здесь: Ajax-запрос Jquery с async: true не возвращает значение .
Теперь я столкнулся с другой проблемой.Как получить значение из функции обратного вызова?
function find_bus_route(array_bustops,callback){
$.ajax({
type: 'POST',
async: true,
url: 'find_routenum.php',
data:{
array_bustops:JSON.stringify(array_bustops)
},
dataType:'json', //html,xml
success: function(my_results){
callback(my_results);
},
error:function(x,e){
if(x.status==0){
alert('You are offline!!\n Please Check Your Network.');
}else if(x.status==404){
alert('Requested URL not found.');
}
}
});
}//end function
var arr_one;
find_bus_route(arr_bus,function (data){
arr_one=data;
alert(arr_one) //has correct value
}
alert (arr_one) //-->This returns undefined..
arr_one, кажется, выходит за рамки.
if(arr_one == arr_two){
//do something.
}
На самом деле я пытаюсь сделать следующее: предположим, что обратного вызова нет, и async установлен на false, а функция find_bus_route возвращает значение.
var arr_one=find_bus_route(arr_stop1);
var arr_two=find_bus_route(arr_stop2);
if(arr_one==arr_two){
//do something
}
else {
//do something
};