基本的に私は持っています
correctData = false//global variable
function calledFirst()
{
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
proceedDiv.innerHTML = xmlhttp.responseText
if(xmlhttp.responseText == "You may continue.")
correctData = true
else
correctData = false
}
}
xmlhttp.open("GET", "process.php?proposed="+encodeURIComponent(mon2),true);
xmlhttp.send()
calledSecond()
}
function calledSecond()
{
if(!correctData)
{
//uh-oh
の値は Ajax 応答に依存し、calleSecond はそれを使用するcalledSecond()
ため、Ajax 応答が完了する前に呼び出されているように見えます。correctData
どうすればこれを修正できますか?
更新:関数呼び出しをコールバック セクションに入れると機能しますが、なぜ機能するのでしょうか? Ajax は非同期であり、コードの残りの部分は Ajax が完了するのを待たないため、それが機能しないと私に確信させました。