Javascript 从网页退出时删除服务器文件

Javascript 从网页退出时删除服务器文件,javascript,python,cgi,Javascript,Python,Cgi,使用PythonCGI脚本,我有一个表单,其中包含Submit和Cancel按钮 当用户试图通过单击“取消”、关闭窗口或单击“上一步”按钮离开网页时,我想删除服务器上存在的文件。文件名取决于表单中的值 当用户单击提交按钮时,不会删除任何文件。表单操作是将用户带到另一个python cgi脚本 我可以用javascript onbeforeunload事件捕获离开页面的用户,但我不能删除javascript中的文件。如何删除这些文件 由于安全原因,无法使用Javascript访问服务器文件。但是

使用PythonCGI脚本,我有一个表单,其中包含Submit和Cancel按钮

  • 当用户试图通过单击“取消”、关闭窗口或单击“上一步”按钮离开网页时,我想删除服务器上存在的文件。文件名取决于表单中的值
  • 当用户单击提交按钮时,不会删除任何文件。表单操作是将用户带到另一个python cgi脚本

    我可以用javascript onbeforeunload事件捕获离开页面的用户,但我不能删除javascript中的文件。如何删除这些文件


    • 由于安全原因,无法使用Javascript访问服务器文件。但是,您可以在onbeforeunload事件中进行回发,在服务器端事件(处理此回发)中,您可以删除要删除的服务器文件。

      正如Lajos Arpad所写,在卸载页面时,您应该向服务器发送通知(例如onbeforeunload事件中的XmlHTTPRequest);但是要注意,它不是防弹的——例如,如果用户重置了他/她的机器,或者强制不正常地终止浏览器进程(例如unix kill-9),浏览器将不再存在,并且不会向服务器发送任何通知。也许在这种情况下,最好引入一些心跳信号,比如网页每10秒发送一次XHR,如果服务器在5分钟内没有看到任何心跳信号,那么很可能是用户死了,文件也应该被删除。

      我对web开发非常缺乏经验,所以我需要更多的解释。你说的回邮是什么意思?是否重新加载现有表单?在onbeforeunload中这是什么样子的?您应该在
      onbeforeunload
      事件中使用AJAX请求服务器上的脚本,然后该脚本可以删除该文件,有关简单教程,请参阅。您可以阅读许多关于Javascript回发的教程。AJAX回发可能非常适合您。在Python(服务器端)上,您应该处理事件并删除文件。谢谢。在onbeforeunload方法中,我使用AJAX执行xmlhttprequest对象向服务器上的python脚本发送请求,该脚本将删除文件。AJAX教程非常有用。这听起来像是你有一个概念上的问题——为什么不在用户提交表单后保存文件呢?