Hex 发表于 2010-3-9 17:02 http://codeigniter.org.cn/forums/images/common/back.gif
后来解决了...但忘了来更新这里...
其实和后台一点关系都没有...是前台提交了2次
<form id="xx" name="xx" method="POST" action="<?php echo site_url(array('xx','xx')) ?>" onsubmit="return _sumbit(this)" />
<input type="submit" id="submit" name="submit" />
<script type="text/javascript">
function _sumbit(_form) {
//dosmoething...
if(xxx) {
_form.submit();
} else {
return false;
}
}
</script>
</form>
关键就是表单提交的时候我用的是return,但是_submit函数里,正确的时候应该是return true,而我却忘了,直接form.submit()了...
这样的话,表单会提交2次....form.submit()提交一次,然后action也提交一次
如果后台的业务流程短的话,那也许不会觉察出什么,但如果业务流程长点的话,就会发现有类似2个任务同时在进行的样子...
要测试的话...可以尝试后台弄一个循环,循环久一点,每循环500次左右echo一下
当初后台代码都快看到发疯了,死活不相信是前台的问题...所以看了2天的后台代码都没找出问题所在...
后来越看手工输出log越觉得是同时2次任务,转变了下思路...2次任务会不会是表单提交了2次...结果回头看了下前台JS代码才....orz ...
很难调试的样子
页:
1
[2]