发送后有没有办法取消实际的 POST?
不,不是来自服务器。仅来自客户端。您可以选择不响应请求,但如果没有一些您真的不应该做的过于复杂的杂技,则无法从服务器“在中间”取消它。
有没有办法在服务器端实际检测到是否收到了帖子?
您的代码只会在收到请求后运行;所以默认情况下 - 如果您的代码正在运行 - 会收到请求。您可以使用 PHP 提供的任何日志记录机制来记录此事件;或者只是检查网络服务器日志。
我在想象整个 post 过程在服务器端有一个开始和结束?
一切从客户端开始,也以客户端结束。客户端请求资源。如果没有客户,那么您的代码就会闲置在闲逛。一旦服务器收到来自客户端的请求,它会将请求 URL 映射到资源,然后需要将响应返回给客户端。
所有网络请求都以完全相同的方式发生。它们是从客户端开始的;当客户端收到响应并关闭连接时,它们都会结束。然后整个循环再次开始一个新的请求。
有没有办法确定帖子不会去哪里。它失败了,就这样结束了吗?
如果您的代码没有被调用;然后服务器端出现错误(可能配置错误)。要记住的关键是客户总是会得到响应;由你来弄清楚发生了什么。
最好的方法是在您的应用程序中进行智能日志记录 - 或者通常监控服务器日志(跟踪请求的位置)。
如果帖子“无处可去”,相应的日志条目会告诉您。如果日志条目没有显示任何错误并且您预期的操作(例如,创建数据库记录)没有发生 - 这意味着问题出在您的代码上。
如果您需要确保仅在请求成功时才创建记录,那么如果您的数据库支持 事务,则使用事务。