gpt4 book ai didi

javascript - 无法在 StatusCode 回调中设置值

转载 作者:行者123 更新时间:2023-11-29 18:06:47 25 4
gpt4 key购买 nike

我正在尝试在 ajax 调用的 StatusCode 中设置一个 bool 值,稍后我可以将其重新用于其他一些工作。这是我尝试过的:

    window.flag = false; // This is the flag I am trying to set inside Status Code 200

$(document).ready(function() {
$("#btnSubmit").click(function(){
jQuery.ajax({
'url': 'http://localhost:8080//Test/abc/',
dataType : 'jsonp',
crossDomain:true,
async:false,
statusCode: {
200: function() {
alert('Success'); // This popup is displayed
flag = true; // Here I am trying to set the flag to TRUE
alert(flag); // Here I am getting TRUE in alert
}
}
});
// But here the flag value is coming as FALSE; I am expecting TRUE value
if(flag == false){
alert('Failure');
}
});
});

警报弹出窗口在 StatusCode 回调中显示“成功”,标志的值设置为 true,标志警报显示 TRUE。

但是当我尝试在 if 条件检查中使用它时,该值变为 False。

请让我知道如何检索标志的正确值。

最佳答案

来自文档:

Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation

因此,即使您将 async 标志设置为 false,它实际上是异步执行的,并且在您的 flag 检查发生时,请求尚未解决。

参见 jQuery.Ajax

关于javascript - 无法在 StatusCode 回调中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691209/

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