驗證發送傳真表單時,我正在檢查傳真是否已通過我們的軟件傳真包發送。這是對由腳本執行的表的簡單查詢,如果以前的傳真存在,則返回一些文本,否則返回空白。爲什麼在xmlhttp.responseText之後沒有設置變量?
我發現flag_stop_fax變量仍然設置爲零,即使我有一些響應文本(例如:「傳真已發送。」)。
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呢?
AJAX是'Asynchronous'。您提醒您注意在回調代碼之前運行。 – TheZ
首先回答這個問題 - Ajax中的A代表什麼? – asawyer