gpt4 book ai didi

jquery - AJAX-响应数据未保存到全局范围?

转载 作者:行者123 更新时间:2023-11-30 23:49:36 24 4
gpt4 key购买 nike

我遇到以下问题:下面显示的行未将变量存储到全局范围内:

var somedata;

$.ajax({
cache: false,
url: verification_url,
success: function(data){
somedata = data;
}
});

alert(somedata); // Undefined

我做错了什么?我需要将其包装到一个单独的函数中还是什么?

最佳答案

alert() 代码在收到 $.ajax 的响应之前运行。

这就是它未定义的原因。

var somedata;

$.ajax({
cache: false,
url: verification_url,
success: function(data){
somedata = data;

alert( somedata ); // 2. this will occur after the response is received
}
});

alert(somedata); // 1. this will occur first

在这里您可以看到警报发生的顺序不正确。默认情况下,AJAX 请求不会阻止后续代码的运行。

这就是回调方法的全部目的。它是在适当的时间调用的方法,而不是依赖于同步执行。

关于jquery - AJAX-响应数据未保存到全局范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6684014/

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