0

Python CGI スクリプトを使用すると、[送信] ボタンと [キャンセル] ボタンの両方を備えたフォームがあります。

  • ユーザーが [キャンセル] をクリックするか、ウィンドウを閉じるか、[戻る] ボタンを押して Web ページを離れようとしたときに、サーバーに存在するファイルを削除したいと考えています。ファイル名は、フォームの値によって異なります。
  • ユーザーが [送信] ボタンをクリックしても、ファイルは削除されません。フォーム アクションは、ユーザーを別の python cgi スクリプトに誘導することです。

    javascript onbeforeunload イベントでユーザーがページを離れるのをキャッチできますが、javascript でファイルを削除することはできません。ファイルを削除するにはどうすればよいですか?

4

2 に答える 2

1

Lajos Arpad が書いたように、ページがアンロードされたときにサーバーに通知を送信する必要があります (たとえば、onbeforeunload イベントの XmlHTTPRequest)。ただし、防弾ではないことに注意してください。たとえば、ユーザーが自分のマシンをリセットしたり、ブラウザプロセスを不当に強制終了したりした場合 (たとえば、unix kill -9)、ブラウザは存在しなくなり、サーバーに通知を送信しません。 . その場合、ウェブページが 10 秒ごとに XHR を送信するなど、何らかのハートビートを導入するのが最善であり、サーバーが 5 分間ハートビートを確認できない場合は、ユーザーが死亡した可能性が高く、ファイルも削除する必要があります。

于 2012-09-24T13:50:07.560 に答える
0

セキュリティ上の理由から、Javascript を使用してサーバー ファイルにアクセスすることはできません。ただし、onbeforeunload イベントでポストバックを作成し、サーバー側のイベント (このポストバックを処理する) で、削除するサーバー ファイルを削除できます。

于 2012-09-24T13:37:33.560 に答える