2012-04-04 2 views
4

사용자가 페이지를 떠날 때 게시 요청을 보내야합니다. 지금까지 이것이 내가 가지고있는 것입니다. 그러나 작동하지 않습니다.jQuery 게시물을 window.unload (창 또는 브라우저 닫기)

$(window).unload(function(){   
$.post("http://localhost/project/quizTime.php",{action:"updateTime",userID:userid,quizID:quizid,newTime:currentTime*1000,rand:Math.random()},function(time) 
    { 
    }); 
}); 

PHP 코드는 window.unload를 click 기능으로 바꾸어 테스트했습니다. 그것은 완벽하게 작동하고 필요에 따라 모든 것을 업데이트합니다. 즉, 문제는 $ (window) .unload 트리거가 있음을 의미합니다.

답변

5

는 ... 문제에 $ .post에 경고 표시되면 다른 일을하는 것.

1

의 jQuery API 문서에서를

unload 이벤트의 정확한 처리 브라우저 버전에 따라 다양합니다. 예를 들어, Firefox 버전에 따라 링크를 따를 때 이벤트가 트리거되지만 창이 닫히는 경우에는 이벤트가 트리거되지 않습니다. 실용적인 사용법에서는 지원되는 모든 브라우저에서 동작을 테스트해야하며 독점적 인 beforeunload 이벤트와 대조해야합니다.

이 이벤트를 다르게 처리하는 Firefox 버전 중 하나를 사용하고있는 것 같습니다. Documentation에서 설명한대로 전에 이벤트를 다운로드하십시오.

-1

이와

$(window).unload(function(){   
$.post("http://localhost/project/quizTime.php",{action:"updateTime",userID:userid,quizID:quizid,newTime:currentTime*1000,rand:Math.random()},function(time) 
    { 
    }); 
}); 

교체하는 경우 :

$(window).unload(function() { alert("Bye now!"); }); 

및 테스트를, 어떤 일이?

$.ajax({ 
    type: 'POST', 
    async: false, 
    url: 'YOUR_URL', 
    data: 'YOUR_DATA' 
}); 

을 이런 식으로 브라우저에서 이전에 완료 요청 대기 :이 같은 false로 설정 비동기 옵션 아약스 방법을 사용해야합니다