javascript - AJAX 调用中的变量范围

标签 javascript ajax callback scope

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

var loadMask = {name:"test"};

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

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

这怎么可能?

最佳答案

这可以使用称为闭包的东西来实现。有很多资源可以用于此目的:

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

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

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

关于javascript - AJAX 调用中的变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146144/

相关文章:

php - 从 Joomla 中的回调 URL 更新 MySQL 表

javascript - Nodejs 生成器异步回调 - slack unity 云构建

javascript - 使用 JSONP 时出现 "invalid label"?

javascript - 脚本在子页面上不起作用

javascript - Angularjs 使用字符串访问 Controller 值

javascript - express.js - 如何拦截 response.send()/response.json()

javascript - 使用 PHP 和 JQuery 的登录表单验证来自 MySQL 数据库的登录信息

c# - 回调后数据 View 中的按钮未触发

javascript - JS - 删除字符串之前/之后的所有字符(并保留该字符串)?

javascript - 如何使用 jQuery 或 javascript 在 div 内的 insidehtml 文本后添加跨度?