javascript - 在 Javascript 中进行 ajax 调用的事件处理函数中使用局部变量

标签 javascript ajax select eventhandler

从第一个函数获取变量“search”的值以在最后一个 ajax 调用中使用它的最佳方法是什么?我知道我可以使用闭包,但不知道如何使用。这是我的代码:

$(document).on("click", ".box", function(){
    var search = $(this).attr("alt");
    $.ajax({
        method: "GET",
        url: url + search,
        success: function(data){
          console.log(data);
        }
    })
});

$( ".select" ).change(function(){
 var param2 = $(this).val();
 $.ajax({
    method: "GET",
    url: url + search + param2,
    success: function(data){
      console.log(data);
    }
  })
});

最佳答案

使用闭包就像在两个函数的范围之外声明变量一样简单:

var search;

$(document).on("click", ".box", function(){
  search = $(this).attr("alt");
  $.ajax({
    method: "GET",
    url: url + search,
    success: function(data){
      console.log(data);
    }
  })
});

$( ".select" ).change(function(){
 var param2 = $(this).val();
 $.ajax({
    method: "GET",
    url: url + search + param2,
    success: function(data){
      console.log(data);
    }
  })
});

关于javascript - 在 Javascript 中进行 ajax 调用的事件处理函数中使用局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37901685/

相关文章:

在 Lion 上通过 Ajax 运行时,PHP 脚本会回显其自身的内容

php - 从 JQuery 调用 PHP 文件以检查唯一标识符

mysql - 组合两个 mysql Select 语句,以便我可以对结果数据进行排序

mysql - 使用 select 和 where 更新表

javascript - IE8 中的 createElement 错误

javascript - 从另一个 JS 文件导出方法

javascript - select2 ajax显示结果但无法选择

javascript - 仅在电子邮件中包含已回答的表格问题

javascript - 将局部变量传递给带参数的 lambda 函数?

python - splinter select(value) 返回属性错误