将Ajax回调数据保存到一个不同步的变量中

Save Ajax callback data into a variable w/o it being synchronous

本文关键字:一个 同步 变量 回调 Ajax 数据 保存      更新时间:2023-09-26

在进行AJAX调用时,我使用了通常的回调方法。但是,我有一种情况,我需要将回调的成功数据存储到一个变量中,但是当我尝试检索数据时,它显示为空。谁能告诉我我哪里错了?提前感谢!

function getData(url, callback){
    $.ajax({
        type: 'GET', 
        url: url,
        success: callback 
    });    
};
var storeThedata = (function(){
    function theData(){
        var newdata = null;
        getData('someurl.json', function(data){
           newdata = data; // newdata now isn't null woo!
        });
        return newdata;
    }
    return { 
        getTheData: theData
    }
})();
var stored = storeThedata.getTheData();
console.log(stored); // Shouldn't be null

为什么不使用Ajax响应调用,也许你想要这样的东西

$(document).ready( function(){
  $.ajax({
        type : 'POST',
        url : 'copycon.php',
        success : function(data){
    if(data=='saved')
    {
     alert("saved");
 console.log(data);
     
    }
    else
    alert("not save");
    console.log(data);
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) 
        {alert ("Error Occured");}
                 });

});