JQuery – 如何在ajax调用之外使用ajax调用的返回值

前端之家收集整理的这篇文章主要介绍了JQuery – 如何在ajax调用之外使用ajax调用的返回值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How do I return the response from an asynchronous call?32个
我有一个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

解决方法

简短的回答:不,你不能,因为AJAX中的A代表“异步”,因此脚本不会“等待”AJAX调用完成.

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

var mydata = null;

$.ajax({
    type: "POST",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

原文链接:https://www.f2er.com/jquery/179131.html

猜你在找的jQuery相关文章