我知道这是一个很长的问题,所以请允许我尽可能地解释一下。
我有两个要在页面加载后运行的 javascript 函数,我们将它们称为 function1() 和 function2()。
function1() 使用 AJAX 从数据库中检索信息,该信息将根据从数据库中获得的信息将内容排列在一个 div 中。一旦函数完成,它还会从数据库中返回内容。
function2() 需要数据库中的值才能正常运行,因此它需要等到 function1() 返回其值,然后才能运行 function2()。不幸的是,我的代码不起作用,无需过多详细说明,以下是代码示意图:
function function1() {
if (some_cookie_exists) {
//run some code
} else {
//send parameters through "POST"
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var a = some_value_from_database;
// change div content
return a;
}
}
//sending parameters
}
function function2(a) {
//run code that depends on value of "a"
}
window.onload = function() {
var data = function1();
function2(data);
我得到的错误是 var 数据未定义。function1() 成功检索数据,并按照我的预期运行,但 function2() 根本不执行,因为缺少值。谁能弄清楚我为什么会得到这个以及我应该如何解决这个问题?
注意:我真的只熟悉 Javascript(那时还是新手),我对 JQuery 基本上一无所知,所以如果你确实使用它来修复代码,请向我解释为什么它会起作用(它会在以后为我省去麻烦)