有没有办法在不使用AJAX提交后取消POST?

时间:2013-09-01 06:29:49

标签: php javascript post

这是一个JavaScript问题,但不是AJAX问题。有没有办法在提交后发布并取消发布帖子?

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

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

有没有办法在服务器端实际检测到收到的帖子? (在这种情况下,数据将保存在数据库中)

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

或者有没有办法确定帖子无处可去?它失败了,那就结束了?

1 个答案:

答案 0 :(得分:3)

  

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

不,不是来自服务器。只来自客户。您可以选择不响应请求,但是在中间取消它是不可能从服务器中没有一些你真的不应该做的过于复杂的杂技

  

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

您的代码只会在收到请求后运行;所以默认情况下 - 如果你的代码正在运行 - 收到请求。您可以使用PHP提供的任何日志记录机制来记录此事件;或者只是查看Web服务器日志。

  

我想象整个后期程序有一个开始和结束   服务器端?

一切都从客户端开始,它也以客户端结束。客户端请求资源。如果没有客户端,那么你的代码就会懒散地竖起来。一旦服务器收到来自客户端的请求,它就会将请求URL映射到资源,然后需要将响应发送回客户端。

所有网络请求都以完全相同的方式发生。它们是从客户端开始的;当客户端收到响应并且连接关闭时,它们都会结束。然后整个周期再次开始新请求。

  

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

如果你的代码没有被调用;然后在服务器端出现错误(可能是配置错误)。要记住的关键是客户总是得到回应;你应该弄清楚发生了什么。

执行此操作的最佳方法是在应用程序中进行智能日志记录 - 或者通常监视服务器日志(跟踪请求的位置)。

如果帖子已经“不在哪里”,相应的日志条目会告诉您。如果日志条目没有显示任何错误,并且没有发生您预期的操作(例如,创建了数据库记录) - 这意味着问题出在你的代码上。

如果您要求确保仅在请求成功时创建了 ,则在数据库支持时使用transactions