長い質問だと思いますので、できる限り説明させてください。
ページの読み込み後に実行したい 2 つの 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 については基本的に何も知りません。したがって、これを使用してコードを修正する場合は、これが機能する理由を説明してください (後で問題を解決できます)。