我对一个非常常见的问题有疑问。关于这个问题,可能已经提出了数十个问题。但不幸的是,我无法解决我的问题。也许你可以帮助我! 我有以下代码:
function get_network_from_database(callback) {
$.ajax({
type: "POST",
url: "load_network.php",
data: "json",
success: callback
});
}
function myCallback(result) {
return result;
}
var matrix = get_network_from_database(myCallback);
现在,当我提醒矩阵时,它会显示undefined
,但是当我alert(get_network_from_database(myCallback))
时;然后它会提醒正确的数据。
请告诉我一个问题是什么?我想要的只是将结果放在矩阵变量中。
提前多多感谢!
答案 0 :(得分:0)
如果alert(get_network_from_database(myCallback))
提供正确的数据,我会非常惊讶。 get_network_from_database
不返回任何内容。
Ajax请求是异步发生的。因此,无论您需要做什么,都需要在myCallback中进行。即alert(result)
。
或者你可以考虑使用promises。将get_network_from_database
更改为return $.ajax(....)
。然后,您应该可以执行类似matrix.then(function(result) { alert(result); })
而不是alert(matrix)
的操作。