gpt4 book ai didi

javascript - 在回调/闭包中设置作用域变量的值

转载 作者:行者123 更新时间:2023-11-30 18:10:25 26 4
gpt4 key购买 nike

我有一个非常大的 JS 脚本,其中包含许多函数、回调等等……我的第一个 Action 是从 Ajax 调用中获取一个值。然后我将该值设置为在我的脚本开头定义的全局变量,以便我可以一次又一次地引用该值……例如,该值确定用户语言。

// define my global var at the top of my script..
var globalOpCo = "";

// I then try to give this a value in the next function I call...
$.ajax({
url:"getURL",
type:"POST",
dataType:"json",
success:function(data){
if(data === null){
// do something...
}else{
// set the current language...
globalOpCo = data.Opco.toLowerCase();
console.log(globalOpCo); // this is the value I want it to be from data.Opco.toLowerCase()
// now do something....
}
},
error:function(xhr, ajaxOptions, thrownError){
console.log(xhr.status);
console.log(xhr.statusText);
console.log(thrownError);
}
});

现在稍后在我的脚本中我希望将 globalOpCo 传递给另一个函数,就像这样......

 $("#aButton").on("click", function(){
anotherFunction(globalOpCo); // I want to pass the globalOpCo as an arguement but its value isn't get updated above?
});

然而 globalOpCo 的值是一个空字符串!在运行上面的 ajax 调用之前或之前不能单击#aButton。有人可以帮忙吗?

最佳答案

默认情况下禁用按钮,在定义 globalOpCo 后在成功函数中添加 onclick,并在设置 onclick 时启用它。奖励:现在它不再需要是全局的,因为需要它的代码就在它旁边。哪个好 =)

关于javascript - 在回调/闭包中设置作用域变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730880/

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