5 분마다 서버에 Ajax 호출을 수행하는 Javascript JQuery 코드가 있습니다. 서버 세션을 활성 상태로 유지하고 사용자를 로그인 상태로 유지하는 것입니다. $.ajax()
JQuery에서 메서드를 사용 하고 있습니다. 이 기능은 KeepAlive 스크립트가 계속 실행되도록 사용자의 인터넷 연결이 끊어지는 경우에 사용하려는 '오류'속성이있는 것 같습니다. 다음 코드를 사용하고 있습니다.
var keepAliveTimeout = 1000 * 10;
function keepSessionAlive()
{
$.ajax(
{
type: 'GET',
url: 'http://www.mywebapp.com/keepAlive',
success: function(data)
{
alert('Success');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('Failure');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
}
});
}
실행하면 10 초마다 알림창에 '성공'팝업이 뜨는데 괜찮습니다. 그러나 네트워크 케이블을 분리하자마자 아무것도 얻지 못했습니다. 오류 기능이 호출되고 '실패'경고 상자가 표시 될 것으로 예상했지만 아무 일도 일어나지 않습니다.
'오류'기능이 서버에서 반환 된 '200'이 아닌 상태 코드에만 해당한다고 가정 할 때 올바른가요? Ajax 호출을 할 때 네트워크 연결 문제를 감지하는 방법이 있습니까?