$.ajax({
                type: "POST",
                url: "../Handler/DicParametersHandler.ashx",
                data: { OPERATION: "ADD", ID: strId, CODE: strCode, NAME: strName},
                async: true,
                success: function (msg) {
                    alert(msg);
                }
            });我使用上述ajax代码提交数据,第一次会添加一条数据,马上第二次会添加2条数据,第三次会添加三条数据,依次类推,各位大学,这是怎么回事?ajax

解决方案 »

  1.   

    先用开发者工具或者其他捕获网络请求看看
                    data: { OPERATION: "ADD", ID: strId, CODE: strCode, NAME: strName},
    post 过去的参数或者post内容
    然后看后台代码是否有问题。
      

  2.   

    ajax处理完成后  没再绑定你提交事件的Button吧
      

  3.   

    我是在弹出窗体这的BUTTON点击事件中调用数据存储方法的,代码如下:
        // 确定选择项处理
        $("#btnSubmit_" + cid).click(function () {
            LoadingPanel.Show();
            newbox.style.display = "none";
            layer.style.display = "none";
            $("#" + idname).hide();
            $("body").css({ overflow: "visible" }); //显示滚动条
            setTimeout(cid + "_GetSelected()", 100);
        });
      

  4.   

    我也遇到过同样的问题,当时数据插入是通过客户端脚本$.post("*.ashx",data,function(result){})实现,同时提交还绑定了服务器端事件进行数据刷新。数据刷新是在updatepanel
    中通过<Triggers>
     <asp:AsyncPostBackTrigger ControlID="refreshComment" EventName="Click" />
    </Triggers>实现的局部刷新。
    结果与楼主同样的问题,第n次提交时,第n次的数据就被重复提交了n次。最后没办法,就把服务器端控件发成了客户端控件,在脚本中用location=location的办法替代了局部刷新。虽然解决了重复提交问题,但是局部刷新的问题一直没有简单的办法解决。
      

  5.   

    jquery的没仔细学习过,Mootools的框架会在事件上做个缓存,作用在于一个事件可以绑定多个任务及Fire。jquery估计也是这个机理,那么你查一下代码,绑定click这事件是不是每打开一次窗口就做一次,而窗口不会从dom中删除只是hidden