팩스 전송 양식의 유효성을 검사 할 때 소프트웨어 팩스 패키지와 함께 이미 팩스가 전송되었는지 확인하고 있습니다. 스크립트에 의해 수행되는 테이블에 대한 간단한 쿼리입니다. 이전 쿼리가 있으면 텍스트를 반환하고 그렇지 않으면 텍스트를 반환합니다.xmlhttp.responseText 뒤에 변수가 설정되지 않는 이유는 무엇입니까?
일부 응답 텍스트 (예 : "팩스가 이미 전송되었습니다.")가 있어도 flag_stop_fax 변수가 여전히 0으로 설정되어 있습니다.
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는 '비동기식'입니다. 콜백 코드가 실행되기 전에 다음에 주석을 달았습니다. – TheZ
이 질문에 대한 답변을 먼저 - Ajax의 A는 무엇을 의미합니까? – asawyer