如何从post函数(JS)获取变量

时间:2018-05-23 13:49:55

标签: javascript jquery function variables post

我对变量有一些问题。我写了这个函数,它不起作用。为什么? mydata = null。如何从post函数中获取数据?

function getData(input) {
    var mydata = null;        
    $.post('getdata.php', {
            input: input
        },
        function(data) {  
            mydata = data;
        }, 'json'
    );   
    return mydata; 
}

1 个答案:

答案 0 :(得分:0)

这是行不通的,因为ajax请求(顾名思义)是异步的,所以返回发生在回调执行之前。一旦解决了数据,您需要返回一个promise并执行所需的逻辑:

getData(input).then(function(data) {
 // do your stuff with the data
});

宣传你的职能:

function getData(input) {
    return new Promise(function(resolve, reject) {
        $.post('getdata.php', {
            input: input
        },
        function(data) {  
           resolve(data);
        }, 'json'
    );   
    });
}