gpt4 book ai didi

jquery - 如果函数返回 jQuery AJAX 输出作为返回

转载 作者:行者123 更新时间:2023-11-30 13:32:27 24 4
gpt4 key购买 nike

我通过 jQuery AJAX 调用了一个网络服务。 Web 服务返回“True”作为输出。
我想作为函数的返回值返回。但它返回未定义。
问题的根源在哪里?
函数 IsAuthenticated 返回未定义,但 response.d 包含“True”值(其字符串)。

   function IsAuthenticated() {
//Todo Check If user logined or not from server
return CallWebService("Server/WebServices/Server.asmx/IsUserLogined", '{}');
}
function CallWebService(WebServicePath, parameters) {
$.ajax({
type: "POST",
url: WebServicePath,
data: parameters,
async: false,

contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
if (response.d == 'True') {

return true;
}
else
{ return false; }
},
failure: function (msg) {

alert("error");

}
});

最佳答案

我看到您正在使用 async:false 选项使 ajax 调用同步。

然而,成功函数仍然是一个回调,从成功处理程序返回 true 不会返回作为 ajax 函数调用结果的值。

您需要将输出捕获到局部变量中并将其返回。

试试这个:

function CallWebService(WebServicePath, parameters) {
var retValue = null;
$.ajax({
type: "POST",
url: WebServicePath,
data: parameters,
async: false,

contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
if (response.d == 'True') {
retValue = true;
}
else
{ retValue = false; }
},
failure: function (msg) {
alert("error");
}
});
return retValue;
}

关于jquery - 如果函数返回 jQuery AJAX 输出作为返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6248268/

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