在AJAX内部更新父函数中的变量而不使用ASYNC FALSE,可以通过回调函数或Promise来实现。
function updateVariable(callback) {
// AJAX请求
$.ajax({
url: 'your_url',
success: function(response) {
// 更新变量
var updatedValue = response.data;
// 调用回调函数更新父函数中的变量
callback(updatedValue);
}
});
}
// 父函数
function parentFunction() {
var variable = 'initial value';
// 定义回调函数来更新变量
function updateValue(newValue) {
variable = newValue;
console.log('Updated variable:', variable);
}
// 调用更新函数
updateVariable(updateValue);
}
// 调用父函数
parentFunction();
function updateVariable() {
return new Promise(function(resolve, reject) {
// AJAX请求
$.ajax({
url: 'your_url',
success: function(response) {
// 更新变量
var updatedValue = response.data;
// 通过resolve方法传递更新的变量值
resolve(updatedValue);
},
error: function(error) {
reject(error);
}
});
});
}
// 父函数
function parentFunction() {
var variable = 'initial value';
// 调用更新函数并使用Promise的then方法处理返回的值
updateVariable().then(function(updatedValue) {
variable = updatedValue;
console.log('Updated variable:', variable);
}).catch(function(error) {
console.log('Error:', error);
});
}
// 调用父函数
parentFunction();
以上两种方法都可以在AJAX请求成功后更新父函数中的变量值,而不需要使用ASYNC FALSE。
领取专属 10元无门槛券
手把手带您无忧上云