ajax发布请求发送多个请求

时间:2014-08-12 17:22:24

标签: jquery datatables

我有一个数据表表格,当点击时,我得到一个带有下拉列表和更新技术按钮的模态对话框。当我第一次点击更新技术时它工作正常。但是,当我不止一次尝试时,我也会收到上一个请求。换句话说,当我尝试为另一项技术更新另一项活动时,我说我为一项技术更新了一项活动。它使用当前技术更新先前的请求和新请求。

    $("#dataTables-example").on('click', 'tr', function(event){
                event.preventDefault();                    
                var nTds = $('td', this);
                console.log(nTds);
                //example to show any cell data can be gathered, I used to get my ID from the first coumn in my final code
                var sBrowser = $(nTds[0]).text();
                var sGrade = $(nTds[4]).text();
                var dialogText="The info cell I need was in (col2) as:"+sBrowser+" and in (col5) as:"+sGrade+"" ;
                var targetUrl = $(this).attr("href");
                $.getJSON('/workorder/' + sBrowser, function(data) {
                console.log(data);
                var template = "<table class=table><thead><tr><th>Line</th><th>Product</th><th>Status<th>Price</th><th>Access</th><th>Serial</th><th>Callback</th><th>Delete</th></thead><tbody></tbody><tr></tr>{{#lines}}<td>{{Line #}}</td><td>{{Product}}</td><td>{{Status}}</td><td>{{price}}</td><td>{{accessCard}}</td><td>{{Serial #}}</td><td>{{callback}}</td><td><button class='btn btn-primary btn-xs' type='button'>Delete</button></td><tr>{{/lines}}<tfoot><tr><td></td><td></td><td></td><td></td><td></td><td>Total</td><td></td><td></td></tfoot></table>";
                var html = Mustache.to_html(template, data);

                $('.modal-body').html(html);
                $('#myModal').modal()
                $.fn.editable.defaults.ajaxOptions = {type: "PUT"};
                $.fn.editable.defaults.mode = 'inline';

                });
$('#updateTech').click(function() { 
    event.preventDefault();
    $.ajax({
        url: '/workorders/' + sBrowser,
        type: 'POST',
        data: {'techId':$('#options').val(),'activityNumber':sBrowser}, // An object with the key 'submit' and value 'true;
        success: function (result) {
            console.log(sBrowser);
            console.log($('#options').val());
        }
    }); 
});
});

有人可以帮帮我吗?

感谢。

1 个答案:

答案 0 :(得分:0)

听起来你需要在关闭模态时添加一个remove()方法,以便它消失。

我不熟悉这个Mustache代码,但我的想法是为模态添加一个close函数,以便它破坏添加的dom。核心问题是你最终有两个附加到dom的选项列表,这些选项列表将它作为你的后期功能发送到数据库。

所以,

关闭事件,触发一个清空html的函数

 $('.modal-body').html('');

这个插件究竟该怎么做我不确定。