在事件处理函数中使用局部变量,该函数在Javascript中进行ajax调用

时间:2016-06-18 21:12:39

标签: javascript ajax select eventhandler

获取变量值的最佳方法是什么?#34;搜索"从第一个函数到最后一个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);
    }
  })
});

1 个答案:

答案 0 :(得分:1)

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

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);
    }
  })
});