2011-02-24 3 views
0

내 페이지에 onUnload 이벤트 처리기가 있습니다. 또한 사용자는 F5 키를 누르고 페이지를 새로 고침 할 수 있습니다. 사용자가 F5 키를 누를 때 브라우저에서 서버로 요청이 사라지면 onUnload에서 요청합니다. 그 요청은 F5에서 온 Unload에서 올 것입니다.ASP.NET MVC | onunload 이벤트 처리 및 F5 키 누르기

으로 onUnload 핸들러

$(window).unload(function() { 
     var url = '<%= Url.Content("~/Controller/Action") %>/'; 
     var cancelButton = "resetStatus"; 

     $.post(url, { cancelButton: cancelButton}, function (data) { 

     }); 
    }); 
+0

페이지를 새로 고칠 때마다 새 페이지가 서버에서 가져 오기 전에 기존 페이지가 먼저 언로드됩니다. 따라서 onunload 이벤트를 사용하는 것이 원하는 이벤트가 아닌 것 같습니다. 따라서 디자인을 조금 변경하거나 대신 onload 이벤트를 사용해야합니까? –

+0

당신은 이것을 할 수 없습니다. Ajax 요청은 비동기 적으로 전송되며 전송 또는 완료 시점을 제어 할 수 없습니다. –

+0

@Darin AJAX 요청을 비동기 적으로 보낼 필요는 없습니다. –

답변

0

여기에 대한 해결책? 이는 FF에서만 발생합니다. 세션 변수를 지우려면 f5보다 먼저 호출해야합니다. 하지만 ff의 경우 페이지로드 이벤트가 onunload 전에 호출됩니다.

+0

나는 브라우저 이벤트를 사용하지 않는 솔루션을 발견했습니다. – Sergii