将Ajax成功中的var用于另一个Ajax Success

时间:2016-10-05 20:43:16

标签: javascript php jquery ajax

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

我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

将第二个请求放在一个单独的函数中,并通过传递您想要的变量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
        })
      }
    });
}

希望这有帮助。

答案 1 :(得分:-1)

我会这样设置,

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

答案 2 :(得分:-1)

尝试使用延迟。然后你的电话将被链接。 https://api.jquery.com/deferred.then/