首页 > 解决方案 > Joomla 客户端向控制器发送多个请求

问题描述

我正在使用 Joomla 版本 3.7.4 我有一个表单,它向控制器中名为 VerifyMe() 的方法发送一个发布请求。表格是这样的:

<form action="myUrl" class="" method="post">
            <input type="hidden" name="task" value="verifyUser"/>
            <input type="hidden" name="method" value="<?php echo 'type' ?>"/>

            <div class="row">
                <div class="col-md-12 text-right">
                    <button type="submit" class="btn btn-default bold uppercase"><?php echo JText::_('SEND') ?></button>
                </div>
            </div>
        </form>

在我的控制器中,我有方法

 public function verifyMe()
    {
        JLog::add('VerifyMe Function called for '. $this->input->get('ID') , JLog::INFO, 'VerifyMe');

}

现在在直播环境中,由于某种原因,当客户端点击提交按钮时,VerifyMe()函数被多次调用。情况并非总是如此,但大约 30% 的时间它的 2 次或更多次调用相同的用户。

标签: joomlajoomla3.7

解决方案


我有同样的问题,我找到了补救措施。

信不信由你,解决方案是告诉用户不要“双击”按钮。用户倾向于像点击 Windows 图标一样点击网页按钮。

如果您真的想摆脱这样的问题,请对模板执行一些 JavaScript 以禁用提交事件上的提交按钮。

希望这可以帮助。


推荐阅读