AJAX リクエストを使用して、データベースから数値を取得します。AJAX 関数は、AJAX 要求の値を返す必要がある別の関数内にあります。ただし、AJAX 要求からの戻り値は xmlhttp.onreadystatechange 関数内のローカル変数であるため、return_count 関数の「上位レベル」の temp_return は変更されません。xmlhttp.onreadystatechange に既に定義されているため、"lower" 関数に値を返して変数に代入させることはできません... return_count 関数が 42 (定義済み) ではなく正しい値を返すようにするにはどうすればよいですかテスト目的で)?
function return_count(ajax_userid,ajax_date,ajax_KT,ajax_KS)
{
var temp_return = 42;
xmlhttp.onreadystatechange =
function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
temp_return = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "count.php?userid="+ajax_userid+"&date="+ajax_date+"&KT="+ajax_KT+"&KS="+ajax_KS, true);
xmlhttp.send();
return temp_return;
}