我知道这是一个很长的问题,所以请允许我尽我所能地解释.
我有两个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);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是var数据未定义.function1()成功检索数据,并按照我的意图运行,但function2()根本不执行,因为缺少值.任何人都可以弄清楚为什么我会得到这个以及我应该如何解决这个问题?
注意:我真的只熟悉Javascript(仍然是新手),我基本上对JQuery一无所知,所以如果你使用它来修复代码,请向我解释为什么这样做(以后会省事)