我知道它的一個很長的問題,所以請允許我盡我所能地解釋。如何執行一個JavaScript函數需要一個值後,onload函數完成,給出的價值?
我有兩個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()成功檢索數據,並按我的意圖運行,但函數2()根本不執行,因爲缺少值。任何人都可以找出爲什麼我得到這個,我應該如何去解決這個問題?
注意:我真的只熟悉Javascript(仍然是新手),我對JQuery一無所知,所以如果你確實使用它來修復代碼,請向我解釋爲什麼這會起作用(它會拯救我麻煩後)
不知道到底自己,但是當我取回的價值,我從數據庫中獲取值。就像我說的,我對JavaScript比較陌生 –
我已經將函數放在 –
以上函數在哪裏? – Barmar