2011-07-19 3 views
1

MVC 3 Webアプリケーションで作業していて、ユーザーにアクション結果をポップアップで通知する必要がある状況です。アクション全体にajaxコールを生存させる

ユーザーがボタンを押したときにアクションへのajax呼び出しを行っています。ユーザーがページ内の他のもので作業を続けると、成功した場合のajaxは決して呼び出されず、結果を受け取ることができません。ページ。

これを克服するための最良の方法は、ユーザーがページ内で行ったことがajax呼び出しを妨げず、結果をユーザーに表示できるようにすることです。

編集

迅速な対応のおかげで、

私は実際に彼らはボタンを押したら、それは非同期のメール操作になりますので、ユーザーは、自分の仕事をしていきたいと思います。操作が完了したら、結果をdivに表示するか、ユーザーが何をしていてもjQueryをうまく使いたい

答えて

0

進行中の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?'; 
}; 

:あなたができる最善のは、onbeforeunloadイベントにサブスクライブし、継続的なAJAX呼び出しがあることをユーザーに伝え、彼が続けば、彼は自分のデータを失うかもしれないということですこのリクエストが成功したときにAJAXリクエストを送信して削除します。

0

Ajaxコールの前にフルサイズの透明(またはより良い、半透明)divオーバーレイを表示し、完了すると非表示にすることができます。

これにより、コールが返されるまでユーザーが何かをやめるようにする必要があります。

関連する問題