重复的问题告诉我们如何使用ajax/post调用。我的问题是如何使用匿名函数返回的数据。
我正在使用jquery方法从mysql获取一些数据。号召是:
$.post("/php/practice.php",{cat:catname}, function(xdata) {
qdata=JSON.parse(xdata);
});这很好,我得到了我所需要的数组,qdata。
因此,如果我执行以下操作,就可以访问qdata:
$.post("/php/practice.php",{cat:catname}, function(xdata) {
qdata=JSON.parse(xdata);
alert(qdata[0][0]);
});qdata是一个有140行的二维数组,所有的值都在那里。
但是如果我试图在这篇文章之外使用qdata,那么qdata就会被称为“未定义的”。例如
$.post("/php/practice.php",{cat:catname}, function(xdata) {
qdata=JSON.parse(xdata);
});
alert(qdata[0][0]);如果我把警报放在邮局的电话外面,我什么也得不到。
我该如何解决这个问题?
发布于 2016-12-16 16:06:28
您的问题是qdata只存在于函数的作用域中。
在函数之外安装qdata变量。
var qdata
$.post("/php/practice.php",{cat:catname}, function(xdata) {
qdata=JSON.parse(xdata);
});或者,假设您希望将这些数据传递给另一个函数,该函数使用它执行某些操作。你可以这样做:
$.post("/php/practice.php",{cat:catname}, function(xdata) {
qdata=JSON.parse(xdata);
myFunction(qdata);
});
function myFunction(data){
alert(data[0]);
}https://stackoverflow.com/questions/41188099
复制相似问题