首页 > web前端 > js教程 > 如何获取异步AJAX调用的返回值?

如何获取异步AJAX调用的返回值?

DDD
发布: 2024-11-25 08:20:10
原创
543 人浏览过

How Can I Access the Return Value of an Asynchronous AJAX Call?

异步 AJAX 调用和变量返回

在将框架代码划分为单独的文件的情况下,您遇到了以下问题:返回通过 AJAX 调用的函数的值无法访问。这种混乱源于 AJAX 调用的异步性质。

AJAX 调用:异步性解释

AJAX(异步 JavaScript 和 XML)函数异步操作。这意味着当发出 AJAX 请求时,发出请求的函数不会等待响应完成就继续执行。这允许程序的其他部分在 AJAX 请求正在进行时继续并行运行。

函数返回和 AJAX

对于 get_data 函数,调用成功回调函数时,不会立即执行成功回调函数中的 return 语句。相反,它仅在 AJAX 请求完成并且已收到响应时执行。

解决方案:使用回调

要解决此问题,您应该提供get_data 函数的回调函数。当 AJAX 请求完成并且响应数据可用时,将执行此回调。修改后的代码如下所示:

function get_data(data, destination, callback) {
  if (lock_get == 0) {
    lock_get = 1;
    $.ajax({
      type: "POST",
      url: destination,
      async: true,
      data: data,
      success: function (data) {
        lock_get = 0;
        if (data && callback) {
          callback(data);
        }
      }
    });
  }
}
登录后复制

然后修改调用代码以传入回调函数:

get_data(data, destination, function (test) {
  notice(test);
});
登录后复制

这样,可以在AJAX请求完成时的回调函数。

以上是如何获取异步AJAX调用的返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板