gpt4 book ai didi

javascript - 无法从函数返回字符串

转载 作者:行者123 更新时间:2023-12-01 02:22:17 26 4
gpt4 key购买 nike

我有以下代码,它显示 2 个警报:

function GetDepartment(){
var dept;

$.ajax({
type: 'POST',
url: 'return_string.asmx/GetDepartment',
data: '{}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function( department ) {

if( department.d[0] ) {

dept = department.d[0].code;
alert( dept );

} else {

alert ( "null" );

}
},
error: function(xhr, status, error) {

var err = eval("(" + xhr.responseText + ")");
alert(err.Message) ;

}
});

return dept;
}

alert( GetDepartment() );

第一个警报显示未定义,第二个警报显示MKTG

为什么第一个警报显示 undefined 以及如何让两者都显示 MKTG

最佳答案

只有当您的 AJAX 调用是同步的时,它才会按照您希望的方式工作。为此,您可以在 AJAX 调用中指定 async: false

$.ajax({
type: 'POST',
url: 'return_string.asmx/GetDepartment',
...
async: false, /* new */
...
});

更好的是,重构您的应用程序,以便 AJAX 调用可以异步进行,而不会阻塞 UI 线程,并且可以发出回调来继续您的应用程序特定进程。

即。像这样:

$.ajax({
type: 'POST',
url: 'return_string.asmx/GetDepartment',
...
success: yourCallbackFunction,
...
});

// callback
function yourCallbackFunction(data) {
// do stuff that depends on data
}

关于javascript - 无法从函数返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140049/

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