终于找到 创建装箱单/运单Action方法为何总执行两次的原因

        之前一直没找到这个问题的原因,当在装箱单管理页面点击“创建装箱单”按钮时,系统会执行创建装箱单的Action方法,执行完毕后 根据配置跳转到装箱单编辑页面,回到装箱单管理页面查询时,发觉一下创建了两个装箱单!

       用断点调试,也找不出原因为何该Action方法执行完毕且已跳转到编辑页面后又再重复执行了一遍该方法,网上搜了好多相关的帖子,导致Action执行两次可能的原因,绝大部分说因为在form里引用了img标签引起的,也有说因为用submit提交引起的,但是我完全没用img标签,是不是submit的原因不敢肯定。找不出原因,只能暂时用其他方法解决这个问题,利用参数判断是第一次执行还是第二次执行了。

       做运单管理模块时,实现方式和装箱单类似,但是发现居然没有像创建装箱单一样方法重复执行,从而创建两个运单。后来也没在意,只是随着页面功能的开发,发觉上面那个问题不知什么时候又出现了,经过几番寻找,终于把捣乱者找出来,原来都是跳转到页面就会执行的JS语句引起的:  

        // 页面加载完成后执行 
        jQuery(function($){

              // 显示待打包合同明细
             getToImportOrderGridData('');

       })

       

       这个方法是jqGrid表格方法,参数是赋给url的,但因为初始进来只想显示表框架,而没有数据加载,等查询后再加载数据,所以让url设了个空值:

        // 显示合同明细
       function getToImportOrderGridData(url){
       
          // 跟GridDestroy不同的是table对象跟pager对象并不会被删除,以便下次使用
          $("#toBePackGridTable").jqGrid('GridUnload');

          $("#toBePackGridTable").jqGrid({
                url: url,

               datatype: "json",

                ……

           })

        没想到,结果导致以上Action方法执行了两次。解决办法,要么把datatype值设为local,要么给url还是赋一个Action方法。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值