【问题标题】:variable scope in AJAX callsAJAX 调用中的变量范围
【发布时间】:2023-03-28 02:44:01
【问题描述】:

我经常问自己的一个问题是,当在发出 AJAX 调用的函数中声明变量时,javascript 怎么可能在 AJAX 请求的回调函数中仍然有引用。这里是一个例子

var loadMask = {name:"test"};

form.submit({
  url: 'request.php',
  timeout : 180000,
  success: function(the_form, action_object)
  {    
    console.log(loadMask);
  }
});

尽管 loadMask 是在成功函数之外声明的,但它在内部仍然可见(并已定义)。

这怎么可能?

【问题讨论】:

    标签: javascript ajax callback scope


    【解决方案1】:

    这可以使用称为 closures 的东西来实现。有很多资源:

    以下是来自谷歌的一些内容:

    http://www.webreference.com/programming/javascript/rg36/

    http://jibbering.com/faq/notes/closures/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2013-01-16
      • 2015-06-14
      • 1970-01-01
      相关资源
      最近更新 更多