Jquery Ajax发布数据两次

时间:2014-01-13 09:25:33

标签: javascript jquery ajax

我有以下jquery脚本,它应该将数据发布到数据库,

//delegated submit handlers for the forms inside the table
                                    $('#issue').on('click', function (e) {
                                        e.preventDefault();

                                        //read the form data ans submit it to someurl
                                        $.post('<?php echo base_url() ?>pharm_profile/dept_issue/', $('#Issues_Form').serialize(), function () {
                                            //success do something
                                            alert("Success Approved Successfully");
                                            var url = "<?php echo base_url() ?>pharm_profile";    
                                            $(location).attr('href',url);
                                        }).fail(function () {
                                            //error do something
                                            alert("Failed please try again later or contact the system administrator");
                                        })
                                    })

每当我点击按钮时,脚本会运行两次/两次发布数据。我怎么能只控制一次?

1 个答案:

答案 0 :(得分:0)

如果你的DOM里面有多个元素“#issue”,就会发生这种情况。这可能发生,即使只显示了一个, 另一方面,每次添加id为“issue”的元素时,“on”实际上都会被注册。因此,如果你碰巧动态添加这些元素,每次添加它时,都会分配一个新的click事件处理程序......

务实,因为它没有缝合你真正想要的那种行为......在“on”注册之前使用off ..

$('#issue').off('click');
$('#issue').on('click',function....);