gpt4 book ai didi

javascript - Jquery 异步调用返回未定义值

转载 作者:行者123 更新时间:2023-12-03 06:07:31 24 4
gpt4 key购买 nike

我已经了解了许多关于 jquery 异步 AJAX 请求的堆栈溢出的主题。这是我的代码。

funciton ajaxCall(path, method, params, obj, alerter) {
var resp = '';
$.ajax({
url: path,
type: method,
data: params,
async: false,
beforeSend: function() {
$('.black_overlay').show();
},
success: function(data){
console.log(data);
resp = callbackFunction(data, obj);
if(alerter==0){
if(obj==null) {
resp=data;
} else {
obj.innerHTML=data;
}
} else {
alert(data);
}
},
error : function(error) {
console.log(error);
},
complete: function() {
removeOverlay();
},
dataType: "html"
});

return resp;
}

问题是,当我使用 asyn 为 false 时,我会得到 resp 的正确值。但是 beforeSend 不起作用。

如果我把async设置为true,那么它的beforeSend工作正常,但是resp值不会正确返回,它总是空白。

有什么办法可以解决这两个问题吗?我会得到 beforeSend 函数和 resp 值。

谢谢

最佳答案

使用 async:false 并在 $.ajax 调用之前手动运行您分配给 beforeSend 的函数:

var resp = '';
$('.black_overlay').show();
$.ajax({
...

要么学习如何在异步任务中使用回调函数。网络上有很多不错的教程。

关于javascript - Jquery 异步调用返回未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39469599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com