Я отправил аналогичный вопрос, но поскольку переполнение стека заглохнет быстро, я чувствую, что не получил ответа.Передача переменной с успехом jquery
Иногда я не понимаю вещи, если это не сделано для моего кода. Люди склонны объяснять вещи действительно ужасно. Пример: How do I return the response from an asynchronous call?
В этом первом ответе он объясняет, как реструктурировать код. Однако он не объясняет шаги правильно. Он не объясняет, что такое обратный вызов или какой результат. Он просто бросает их туда. Я предполагаю, что он дает несколько примеров того, как это сделать, но он не объясняет, что использовать.
Ниже мой код, который у меня был изначально:
var admin_data = false;
function getPlayerAdmin(admin_data){
var formData = {
'player_id' : $('#post-v').attr('data-val')
};
$.ajax({
type: 'post',
url: '/popins/player/controls',
data : formData,
dataType : 'json',
success: function(admin_data_vals, admin_data) {
if(admin_data_vals.controls.is_admin == true){
admin_data = true;
}else{
admin_data = false;
}
},
error : function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
}
});
}
getPlayerAdmin();
alert(admin_data);
Ниже я попытался перестроиться на основе его ... Например:
var admin_data = false;
var result = getPlayerAdmin();
getPlayerAdmin(function(result) {
if(admin_data_vals.controls.is_admin == true){
admin_data = true;
}else{
admin_data = false;
}
});
function getPlayerAdmin(callback){
var formData = {
'player_id' : $('#post-v').attr('data-val')
};
$.ajax({
type: 'post',
url: '/popins/player/controls',
data : formData,
dataType : 'json',
success: function(admin_data_vals, callback) {
},
error : function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
}
});
}
getPlayerAdmin();
alert(admin_data);
Я пытаюсь получить переменная отсюда, чтобы я мог использовать ее в другой функции.
Я так смущен, помощь очень ценится.
Вы хотите поместить 'alert (admin_data);' в функцию обратного вызова и использовать его оттуда. И измените вашу функцию успеха: 'success: function (data) {callback (data)}' – nicovank
Что такое функция обратного вызова? –
Функция обратного вызова - это функция, которую вы передаете как параметр, вызывающий успех. – nicovank