gpt4 book ai didi

jquery - Jquery中的Ajax代码完成后执行下一行

转载 作者:行者123 更新时间:2023-12-01 00:01:59 25 4
gpt4 key购买 nike

需要帮助!

我正在函数内执行 ajax 调用。 Ajax 调用的结果是函数的返回值。

代码如下:

function tabstrip() {
$.ajax({
type: "POST",
url: "/WebService/MessageUnratedCount.asmx/GetMessageUnratedCount",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
nUnratedCount = msg.d;

}
});
return nUnratedCount;
}

从对 Web 服务的 ajax 调用获得结果后,应返回 nUneratedCount 值。但它会在 ajax 调用执行之前返回。你能帮忙吗?

最佳答案

请记住,默认情况下,您的 ajax 请求不是同步调用,因此该函数将立即返回,而无需等待响应。我强烈建议不要使用 asynch:false 设置。

最好的选择是重构代码结构并传入一个回调,该回调将在成功时调用

例如

   //calling code
tabstrip( yourCallbackFunction )

function tabstrip(callbackFn)
{
$.ajax({
type: "POST",
url: "/WebService/MessageUnratedCount.asmx/GetMessageUnratedCount",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: callbackFn
});
}

function yourCallbackFunction (data){
//do something
}

关于jquery - Jquery中的Ajax代码完成后执行下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1158475/

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