PHP-在执行后操作之前调用函数的最佳方式


PHP - Best way to call function before post action is executed

我的网站上有一个PHP购物篮。购物篮包含一个包含项目列表和值的表单。

它看起来像这样:

<form action="https://www.sandbox.paypal.com/us/cgi-bin/webscr" method="post">
<input....etc etc etc>
    <input....etc etc etc>
<input type="submit" name="add-to-basket" value="Buy Now">
</form>

当用户点击"立即购买"时,我想在表单提交给Paypal之前[在功能中]进行一些最终检查。如果最终检查通过,则用户将被带到Paypal。如果任何检查失败,用户将返回到购物篮并显示一些错误消息。

我需要帮助的是调用带有检查的函数。

当用户点击"立即购买"按钮时,我可以在帖子触发前调用同一页面中的函数吗?或者我应该发布到另一个运行检查的页面,然后自动将原始表单数据发布到Paypal。不确定是否可以自动过帐表单?(为了澄清,我应该说用户需要带上Paypal的帖子数据)

您可以尝试使用AJAX进行检查,但如果用户停用Javascript,这些检查将不会执行。

所以如果你使用AJAX,你应该把重定向到贝宝的AJAX。

但也可以将此表单提交到本地页面,该页面验证数据,然后将数据发送到贝宝。这将不需要Javascript。

您正在寻找的是ajaxStart。

来自官方文档:
Whenever an Ajax request is about to be sent, jQuery checks whether there are any other outstanding Ajax requests. If none are in progress, jQuery triggers the ajaxStart event. Any and all handlers that have been registered with the .ajaxStart() method are executed at this time.