Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击事件时向服务器发送多个Ajax请求_Javascript_Jquery_Ajax_Modal Dialog_Bootstrap Modal - Fatal编程技术网

Javascript 单击事件时向服务器发送多个Ajax请求

Javascript 单击事件时向服务器发送多个Ajax请求,javascript,jquery,ajax,modal-dialog,bootstrap-modal,Javascript,Jquery,Ajax,Modal Dialog,Bootstrap Modal,我有一个用户界面,当有人点击一个按钮时,系统会打开一个带有一些消息的引导模型&一个是或否按钮,如果“否”按钮点击了引导,就关闭,当“是”按钮点击时,ajax请求被发送到服务器 如果我单击按钮三次,然后关闭模式,即单击“否”,则问题是对话中的所有三次都没有发送ajax请求,但当我第四次单击按钮并在模式上单击“是”时,总共有4次请求同时发送到服务器,也就是说,服务器会记住最后3次单击事件。我怎样才能简化这个过程 这是代码 $('.js--acc-display').on('click','.js--

我有一个用户界面,当有人点击一个按钮时,系统会打开一个带有一些消息的引导模型&一个是或否按钮,如果“否”按钮点击了引导,就关闭,当“是”按钮点击时,ajax请求被发送到服务器

如果我单击按钮三次,然后关闭模式,即单击“否”,则问题是对话中的所有三次都没有发送ajax请求,但当我第四次单击按钮并在模式上单击“是”时,总共有4次请求同时发送到服务器,也就是说,服务器会记住最后3次单击事件。我怎样才能简化这个过程

这是代码

$('.js--acc-display').on('click','.js--verify', function () {
    var mode = $(this).data('mode');
    $conformDialogue.find('.modal-body').text('Custom Message');
    $conformDialogue.modal('show').on('click', '#js--conform-ok', function(e) {                
       $conformDialogue.modal('hide')
             //// Ajax Request Code Here /////
    });
});

这是一个常见的陷阱,simpe解决方案可能只是在请求时隐藏按钮。或者使用属性“disabled”,这将适用于大多数浏览器

$conformDialogue.modal('show').on('click', '#js--conform-ok', function(e) {  
   /* on click disable the button */              
   $('#js--conform-ok').attr('disabled', true);
   $conformDialogue.modal('hide');

         //// Ajax Request Code Here /////

        /* on ajax-end enable again  */
        $('#js--conform-ok').attr('disabled', false);
});

我不认为这是一个解决方案,因为这将在UI中产生问题,并且将一事无成!!无论如何,我创建了一个单独的插件,作为一个构象对话!!这段代码中的问题是一个愚蠢的错误……若你们感兴趣,我可以解释给你们听。谢谢你抽出时间。