ファックス送信フォームを検証するとき、ソフトウェア ファックス パッケージを使用してファックスがすでに送信されているかどうかを確認しています。これは、スクリプトによって実行されるテーブルへの単純なクエリであり、以前のファックスが存在する場合はテキストを返し、存在しない場合は空白を返します。
応答テキストがある場合でも、flag_stop_fax 変数がまだゼロに設定されていることがわかりました (例: "A fax has already been sent.")。
flag_stop_fax = 0;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var response = xmlhttp.responseText;
if (response!='')
{
flag_stop_fax = 1;
alert(response);
}
}
}
xmlhttp.open('GET','/check_for_active_fax.php?fax_number=' + fax_number + '&t='+Math.random(),true);
xmlhttp.send();
alert(flag_stop_fax); // shows "0" even when I have a non-blank response from xmlhttp.responseText
これに付随する検証ビットが他にもいくつかありますが、上記のスクリプトが問題を示していることを願っています。私は「t」変数を何にも使用しません。これはブラウザのキャッシュに対する保護手段です。
では、flag_stop_fax が 0 に設定されないのはなぜですか?