gpt4 book ai didi

javascript - 如何更改jquery get方法中的全局变量?

转载 作者:行者123 更新时间:2023-12-03 02:24:35 24 4
gpt4 key购买 nike

我对 js 并不陌生,但是 jquery get 方法有一个愚蠢的问题,它无法更改全局变量,我不知道为什么?

function getData(data) {
re=null;
$.get("http://example.com/api.php",{ d:data}).done(function(result){

re = true;

}).fail(function(){

re = false;

});
console.log(re);
return re;
}

如果您看到console仍然是null !
有什么想法吗?

更新:

我的问题不在于 console.log() ,实际上问题是我无法像这样存储和返回值:

alert(getData(data));

这仍然返回 null。

最佳答案

这是因为 $.get 是一个异步调用,当 re 变量被重新分配新值时,console.log 就会被执行。

您可以在调用异步函数 getData(data) 时使用回调函数。

function getData(data,callback) {
$.get("http://example.com/api.php",{ d:data}).done(function(result){

callback(true)

}).fail(function(){

callback(false);

});
}
//call it with your data and callback function
getData(data, function(response){
console.log(response); // this will contain true or false as returned from your getData function.
})

我希望这会有所帮助。

关于javascript - 如何更改jquery get方法中的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49005738/

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