我使用的是Joomla 3.7.4版本,我有一个表单,它向控制器中一个叫做VerifyMe()的方法发送一个post请求。这个表单是这样的。
<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次或更多次。
我有同样的问题,我找到了补救办法。
不管你信不信,解决办法就是,告诉用户不要 "双击 "按钮。用户往往会像点击Windows图标一样点击网页按钮。
如果你真的想摆脱这样的问题,可以在模板上做一些JavaScript来禁用提交事件中的提交按钮。
希望对你有所帮助。