5

AJAX 呼び出しを行う場合、ユーザーが「ESC」を押すか、そのページを離れると、AJAX 呼び出しはキャンセルされますか?

AJAX 呼び出しがキャンセルされた場合、PHP スクリプトは実行中の処理が完了するまで実行し続けますか (制限時間に達しないか、他のサーバー構成が停止しない場合)、またはそのプロセスは同時に強制終了されますか?それが属するApacheの子?

プロセスが終了していなくてもApacheの子で強制終了された場合、それを維持するための最良の方法は何ですか、または他にどのようなオプションを検討する必要がありますか? (ZendX_Console_Process_Unix はオプションではありません)。

ありがとう!

その後の発見:

Firefoxで「ESC」を押すと、AJAX呼び出しが実際にキャンセルされます(firebugで確認)。PHP プロセスは続行され、ESC を押したりタブを閉じたりしても影響を受けません。

4

2 に答える 2

3

ユーザーが ajax 呼び出しを終了する (ウィンドウを閉じる、または別の Web サイトに移動する) 前にサーバー プロセスが開始された場合、そのプロセスは最終結果まで実行されます。ただし、中断された ajax 呼び出し (データの送信が完了していないことを意味します) では、サーバーは呼び出しを処理しません。

注: キープッシュ動作を JavaScript で記述しない限り、ESC を押しても ajax 呼び出し自体は終了しません。

于 2009-04-02T12:54:27.373 に答える
-1

注...href属性を使用してハイパーリンクからAJAX呼び出しを呼び出した場合、YESの場合、ユーザーはESCを押して送信を停止できます。

<a href="javascript:doFoo();">This can be canceled by pressing ESC</a>

<a href="#" onclick="doFoo();">This can NOT be canceled by pressing ESC</a>
于 2009-04-02T13:07:54.597 に答える