将Ajax success中的var使用到另一个Ajax success中



我有2个Ajax调用,其中一个在成功我想保存数据在var中使用到另一个Ajax调用。

  $.ajax({
      all my options
      } ),
      success: function(data){
        jsondata = $(data).get(0);
        var tempVal = jsondata.valor_variable; <-------------//- this var
      }
  });
  $.ajax({
      all my options
      } ),
      success: function(data){
        $('.content-' + value).load("Views/temp", function(){
          $('#temp').text(tempVal); <----------------------//- use it here
        })
      }
  });

我怎么能那样做呢?

将第二个请求放在一个单独的函数中,并通过传递您想要的变量tempVal在第一个请求的成功回调中调用它:

$.ajax({
  all my options
  } ),
  success: function(data){
    jsondata = $(data).get(0);
    var tempVal = jsondata.valor_variable; <-------------//- this var
    second_ajax_request(tempVal);
  }
});
fucntion second_ajax_request(tempVal){
    $.ajax({
      all my options
      } ),
      success: function(data){
        $('.content-' + value).load("Views/temp", function(){
          $('#temp').text(tempVal); <----------------------//- use it here
        })
      }
    });
}

我要这样设置,

$.ajax({
  all my options
  } ),
  success: function(data){
    jsondata = $(data).get(0);
    var tempVal = jsondata.valor_variable; <-------------//- this var
    $.ajax({
      all my options
      } ),
      success: function(data){
        $('.content-' + value).load("Views/temp", function(){
          $('#temp').text(tempVal);
        })
      }
    });
  }
});

尝试使用deferred。那么你的呼叫将被连锁。https://api.jquery.com/deferred.then/

最新更新