2009-08-26 6 views

答えて

0

これはクライアント - サーバーアーキテクチャの古典的な問題です。 HTTPリクエストが作成されると、それを停止することはありません。すべての要求がすべて元の状態に戻ってくることを保証するために、すべての要求の後に状態を復元する方法が必要です。

これをAJAXで実行し、関数を使用することができます。または、ブラウザによってはwindow.stop()またはdocument.execCommand("Stop")を試すこともできます。しかし、それらはすでに送られてきた要求の問題を解決しません。

3

Gmailのようにメールの送信を元に戻すことができます(ラボ機能)。

メールの送信が5秒遅れます。その時間にサーバがundo AJAXコールを受信した場合、そのメールは送信されません。

これは潜在的にサーバー側の複雑さを増やす可能性がありますが、それほど多くはありません。

stop_submit(current_id){ 
    try{ 
     document.execCommand('Stop'); 
    }catch(e){} 
    try{ 
     window.stop(); 
    }catch(e){} 

    AJAXCall("/myfolder/cancel_submit/", "id="+current_id, "post"); 
    return; 
} 
:だから全体のことは、このような何か(擬似コード)を見える

//IE 
document.execCommand('Stop'); 
//Firefox 
window.stop(); 

:情報は、あなたがthisを使用することができます送信されていない場合には

関連する問題