2017-02-10 63 views
-1

我想在用户离开页面之前调用ajax,这是我迄今为止所做的。但它甚至没有打到ajax页面。 这就是我迄今为止所做的。在页面卸载前调用ajax

window.onbeforeunload = closeIt(); 
function closeIt() 
{ 
    var key="save-draft"; 

      $.ajax({ 
       url: "app/ajax_handler.php", 
       type:"GET", 
       data:{key:key}, 
       success: function(data) { 
        return data; 
       } 
      }); 

} 

我试过这一个也都失败了在我的情况。

$(window).unload(function() {}); 
+0

即请求消灭了,因为网页已不复存在 – Hemal

+0

http://stackoverflow.com/a/3596222/2270492 – Hemal

+0

所以你说实际上它工作与否? –

回答

0

我认为唯一的办法是让用户知道它在背景的确认消息的过程中,将阻止在接受退出,直到用户点击或者你已经得到了响应。

类似的东西:

window.onbeforeunload = closeIt(); 
 
function closeIt() 
 
{ 
 
    /*var key="save-draft"; 
 

 
      $.ajax({ 
 
       url: "app/ajax_handler.php", 
 
       type:"GET", 
 
       data:{key:key}, 
 
       success: function(data) { 
 
        return data; 
 
       } 
 
      });*/ 
 
    
 
     setTimeout(function() { 
 
           return confirm("There is a process that isn't finished yet, you will lose some data. Are you sure you want to exit?"); 
 
         }, 1000); 
 

 
}