javascript/PHP(不是AJAX)-有没有一种方法可以在帖子提交并运行后取消它?

javascript/PHP(不是AJAX)-有没有一种方法可以在帖子提交并运行后取消它?,php,javascript,forms,post,Php,Javascript,Forms,Post,javascript/PHP(不是AJAX)-有没有一种方法可以在帖子提交并运行后取消它 因此,用户点击post按钮-一切正常,表单已提交。PHP已准备好捕捉细节 无论出于何种原因,都会出现网络拥塞,服务器没有响应 我想给用户一个机会,在一段时间后再次发布 是否有办法在实际邮件发送后取消该邮件? 是否有一种方法可以在服务器端实际检测到收到的帖子? (在这种情况下,数据将保存在数据库中) 我想象整个post过程在服务器端有一个开始和一个结束 或者-有没有办法确定这篇文章的目的是什么。它失败了

javascript/PHP(不是AJAX)-有没有一种方法可以在帖子提交并运行后取消它

  • 因此,用户点击post按钮-一切正常,表单已提交。PHP已准备好捕捉细节
  • 无论出于何种原因,都会出现网络拥塞,服务器没有响应
  • 我想给用户一个机会,在一段时间后再次发布
是否有办法在实际邮件发送后取消该邮件?

是否有一种方法可以在服务器端实际检测到收到的帖子?

(在这种情况下,数据将保存在数据库中)

我想象整个post过程在服务器端有一个开始和一个结束


或者-有没有办法确定这篇文章的目的是什么。它失败了,到此为止?不,您不能中止它。你对此无能为力

是否有一种方法可以在服务器端实际检测到收到了帖子?


对!!检查
$\u POST
变量

如果使用AJAX发布,则始终可以重新发布。倾听回应,如果在一定时间内没有收到回应,请停止聆听并重新发布。否则,您可以使用
document.location=“MyNextPage.php

但是你应该知道,没有办法取消帖子本身。如果它要到达服务器,它仍然会到达。也就是说,你可能会遭受双重发布。你可能应该在页面上引入一个唯一的变量,这样就不会发生双重发布

==问题参数更改后编辑===

如果你在页面上有一个唯一的参数,当你提交帖子时,你也可以启动一个javascript定时器,在选定的时间段后重新提交。如果页面还没有移动(因为服务器没有响应),javascript定时器将启动,重新提交表单。(您需要检查这在各种浏览器中是否有效,因为行为基本上是未定义的)


在服务器上,只需检查是否已提交该唯一值(检查数据库中的该值,并将其写入,如果尚未提交,则继续)。这样可以防止重复提交

如果你认为帖子还没有到达服务器,那么为什么还要首先取消它呢?只需添加一些JS来检查在x秒内是否没有响应,然后再次启用提交按钮,只是偷偷地编辑问题以添加“不是AJAX”“没有评论有点鬼鬼祟祟:P.恐怕我不得不同意-答案是否定的-你不能“取消”这篇文章。也许你可以确切地解释一下你想达到什么目的,问题是什么等等,也许还有其他方法可以绕过你在做什么?错了…不是鬼鬼祟祟的,只是澄清一下-帖子贴上写着“Javascript和PHP”应该理解的是,我不想要一个Ajax解决方案,所以……你不认为在响应阶段后冷传输和服务器超时是可能的,Hank?“完全正确”试图抓住粗俗的godaddy服务器没有响应…或者任何服务器没有响应。如果发生一些疯狂的事情,比如服务器超时或网络故障-如何确保它已经失败或超时…等等。而不是仅仅用计时器猜测-并对不确定性作出响应,则发送帖子,然后发送。然后PHP脚本被执行。如果服务器超时或没有响应,你应该检查它在做什么,因为这听起来像是一个吃掉了资源的脚本只是一个糟糕的godaddy服务器超时-这是一个小表单的一个非常基本的帖子。没有什么疯狂的。没有任何方式的延迟。我开始喜欢这个想法…也许是一个独特的变量可以工作…超时…等等…但我只是想有一种方法可以准确地知道