2011-07-19 76 views
1

我正在使用MVC 3 Web應用程序,並且處於需要在彈出窗口中通知用戶動作結果的情況。在動作中進行Ajax調用

現在我們正在做一個ajax調用,當用戶點擊一個按鈕時,如果用戶繼續在頁面中的其他任何東西上工作,成功的ajax永遠不會被調用,並且不能將結果返回給這一頁。

什麼是最好的方法來克服這一點,以便用戶在頁面中做的任何操作都不會妨礙ajax調用,並且仍然能夠將結果顯示給用戶。

編輯

感謝您的快速反應,

我其實希望用戶繼續做自己的工作,一旦按下按鈕,因爲它是一個異步的電子郵件操作。一旦操作完成,我想要在div中顯示結果或使用jQuery咆哮無論用戶在做什麼

回答

0

如果用戶在進行中的AJAX調用時離開頁面,儘量防止它停止。你能做的最好的是認購onbeforeunload事件,並告訴用戶,有一個持續的AJAX調用,如果他繼續,他可能會失去他的數據:

window.onbeforeunload = function() { 
    return 'You are navigating away from the page but there is an ongoing operation that will be interrupted. Are you sure you want to continue?'; 
}; 

當然,你只會之前初始化這個處理程序發送一個AJAX請求,並在請求成功時將其刪除。

0

您可以嘗試在Ajax調用之前顯示完整大小的透明(或更好,半透明)div覆蓋圖,並在完成時將其隱藏。

這應該阻止用戶做任何事情,直到通話返回。