2011-04-13 83 views
0

我有一個PHP Web應用程序,其中,i使用的認證方法。我在與索引文件相同的目錄中有一個腳本logout.php。 我希望如果使用中期會話決定退出或離開頁面,則會執行logout.php中的代碼。使用PHP AJAX窗口關閉問題

function closeIt() 
{ 
    var exit = confirm("Are you sure you want to end this chat session ?"); 
    if(exit==true){ 
$.ajax({ 
    type: "GET", 
    url: "logout.php", 
    success: function(){ alert("Done");} 
}); 
    } 
} 

window.onbeforeunload = closeIt; 

我得到的確認框, 但我沒有得到成功,我是在做somethign撥錯還是我需要一種新的方法一起

香港專業教育學院試過嗎?

+0

與jQuery上[Ajax請求的可能重複頁面卸載(http://stackoverflow.com/questions/1821625/ajax-request-with-jquery-on-page-unload) – 2011-04-13 17:38:06

+0

你使用螢火蟲或看到的東西,如果AJAX調用失敗? – Munzilla 2011-04-13 17:39:53

+0

@pekka我如何檢查? – user434885 2011-04-13 17:40:32

回答

1

AJAX調用是異步執行的,因此呼叫由和處理被傳遞迴立即頁面,然後關閉Ajax調用完成之前。

你需要做一個同步調用,使這項工作。在AJAX

+0

你能告訴我如何?即時通訊對於Ajax非常新...只是通過查看示例來工作......你能在我的代碼中顯示我嗎? – user434885 2011-04-13 17:55:38

0

A代表異步。您可能需要使用同步的XMLHttpRequest或在closeIt()年底返回false(即應防止關閉窗口),並在你的成功的功能,改變onbeforeunloadnull,並關閉窗口window.close()

+0

你能告訴我我怎麼弄不到它嗎? – user434885 2011-04-13 17:55:02