3
안녕 얘들 아, 나를 도와 줄 수 있었으면 좋겠다.아약스 요청시 PHP 서버 시간 초과를 감지하는 방법
PHP 코드를 실행하는 페이지에 대해 ajax 요청을했다고 가정합니다. 페이지는 일부 데이터를 출력하지만 (flush() 메소드 또는 기타 방법 사용) 30 초의 시간 초과 또는 기타 오류로 인해 PHP 요청이 종료됩니다.
이제 요청이 끝나면 클라이언트 측에서 해당 요청을 찾고 요청을 다시 시작하려고합니다.
즉 내가 JS에 타이머를 설정하는 것이었다 사용이
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==3 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
}
else if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
//plus some additional code to end the process
}
else if(xmlhttp.status== SOMETHING /*WHAT DO I ADD HERE TO KNOW THAT THE SERVER HAS TIMED OUT OR SOMETHING SO I CAN RESTART THE XMLHTTP CYCLE */){
//code to resend xmlhttp request.
}
}
질문에 당신은 서버 측에 수표를 요구하고 있지만 코드에는 자바 스크립트에이 공간이 있습니다. 아약스가 비동기 적이기 때문에 해고 당하고 사용자가 페이지를 떠날 수 있습니다. 스크립트는 다시 실행하거나 서버에 시간 초과가 발생했음을 알릴 기회가 없습니다. 응답이 다시 올 때까지 말 그대로 사용자가 페이지에 머물러있게해야합니다. js 대신 서버에서 추적하여이 문제에 접근해야 할 수도 있습니다. –
내 잘못, 그 오타되었습니다. 수정 됨. 또한 수표가 고객 측에 있어야합니다. 사용자가 페이지를 떠난다면 dosnet은 실제로 어떤 일이 일어날 지 문제가됩니다. –