小编典典

jQuery-如何在该ajax调用之外使用ajax调用的返回值

ajax

我有一个ajax电话。我将返回值(数据)放在一个名为mydata的变量中。我想在ajax调用之外使用该变量。请注意,我无法将代码合并到ajax调用的成功部分中。我不会详细说明原因,因为这会增加混乱。所以问题很简单。有没有办法在该ajax调用之外使用ajax调用的返回值?预先感谢您的答复。干杯。马克

$.ajax({
    type: "POST",
    url: "file.php",
    data: ajaxData,
    success: function(data) {
        var mydata = data;    
    }
});

alert(mydata); // -> This is not working

阅读 342

收藏
2020-07-26

共1个答案

小编典典

简短的答案:不,您不能这样做,因为AJAX中的A代表“异步”,因此脚本不会“等待” AJAX调用完成。

如果需要,可以使用间隔轮询来查看是否设置了mydata:

var mydata = null;

$.ajax({
    type: "POST",
    url: "file.php",
    data: ajaxData,
    success: function(data) {
        var mydata = data;    
    }
});

var timerId = setInterval(function() {
   if(mydata !== null) {
      // your code
      clearInterval(timerId);
   }
}, 1500); // change this to your liking, doesn't really matter

但这是假设file.php永远不会在数据中返回null

2020-07-26