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

时间:2013-08-29 07:38:27

标签: php javascript forms post

javascript / PHP(非AJAX) - 有没有办法在帖子提交并开始运动后取消帖子?

  • 所以用户点击帖子按钮 - 一切都很好,表单已提交PHP已准备好抓住详细信息。
  • 无论出于何种原因,都存在网络拥塞,服务器也没有响应。
  • 我想让用户有机会在一段时间过后再次发帖。

有没有办法在发送后取消实际的POST?

有没有办法在服务器端实际检测到收到了帖子?

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

我想象整个帖子程序在服务器端有一个开始和结束?

...

或者 - 有没有办法确定帖子不在哪里。它失败了,那就结束了吗?

2 个答案:

答案 0 :(得分:1)

不,你不能中止它。你无能为力。

IS there a way to actually detect - on the server side - that a post was received?

是的!检查$_POST变量

答案 1 :(得分:1)

如果您使用AJAX进行POST,则可以随时重新发布。听取回复,如果在一定时间内未收到回复,请停止收听并重新发布。否则,您可以使用document.location = "MyNextPage.php

更改页面的网址进行回复

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

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

如果您在页面上有一个唯一参数,那么当您提交帖子时 - 您还可以启动javascript计时器以在选定的时间段后重新提交。如果当时页面没有移动(因为服务器没有响应),javascript计时器将触发,重新提交表单。 (您将需要检查这是否适用于各种浏览器,因为行为很大程度上未定义)。

在服务器上,检查是否已提交该唯一值(检查数据库中是否有此值,然后将其写入,如果尚未存在则继续)。从而防止双重提交