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

Using a local variable out of an event handler function that makes an ajax call in Javascript

从第一个函数获取变量 "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);
    }
  })
});