我对变量有一些问题。我写了这个函数,它不起作用。为什么? mydata = null。如何从post函数中获取数据?
function getData(input) {
var mydata = null;
$.post('getdata.php', {
input: input
},
function(data) {
mydata = data;
}, 'json'
);
return mydata;
}
答案 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'
);
});
}