gpt4 book ai didi

javascript - 从 jQuery AJAX 结果设置函数变量

转载 作者:行者123 更新时间:2023-12-03 05:00:18 27 4
gpt4 key购买 nike

我正在函数内使用 jQuery 执行 GET 请求,并尝试使用结果设置该函数中先前声明的变量。然而,它显示为未定义。我在这里错过了这个概念吗?我怎样才能让这样的事情发挥作用?谢谢。

function doSomething1() {
var x;
$.get( window.location.href, { q: 'stuff', q2: $('input').val() }, function(data){
// value shows up
console.log(data);
x = data;
});
return x;
}

function doSomething2() {
// comes up as undefined.
console.log(doSomething1());
}

doSomething2();

最佳答案

这是 $.get() 请求的异步效果的错误。在 get 有机会执行任何操作之前,您将返回 x。您需要一段时间才能理解异步函数。

事件的顺序如下:

  1. doSomething2() 调用 doSomething1()
  2. doSomething1() 定义不带值的 x 开始 GET 请求,并返回 undefined
  3. doSomething2() 记录返回的 x
  4. GET 请求完成并处理其成功函数

关于javascript - 从 jQuery AJAX 结果设置函数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258327/

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