Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 - Fatal编程技术网

Javascript AJAX请求被发送多次

Javascript AJAX请求被发送多次,javascript,jquery,ajax,Javascript,Jquery,Ajax,还有很多其他的帖子与这个问题相关,但我找不到一个可以解决我问题的帖子。AJAX请求被发送多次 var checkAllStatus = function () { $.ajax({ cache: false, type: "POST", url: "@Url.Action("CheckAllStatus")", dataType: 'json', contentType: "application/json;

还有很多其他的帖子与这个问题相关,但我找不到一个可以解决我问题的帖子。AJAX请求被发送多次

var checkAllStatus = function () {
    $.ajax({
        cache: false,
        type: "POST",
        url: "@Url.Action("CheckAllStatus")",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            if (data == true) {
                DoCloseDay();
            }
            else {
                window.location.href(root + 'Close');
            }
        },    
        error: function (xhr, ajaxOptions, thrownError) {     
            alert('Error: ' + thrownError);    
        }    
    });
};

function DoCloseDay() {    
    var statesProgress = $("#loading-progress");    
    var successMsg = $("#success-msg");    
    statesProgress.show();    
    $.ajax({    
        cache: false,    
        type: "POST",    
        url: "@Url.Action("Close")",    
        dataType: 'json',    
        contentType: "application/json; charset=utf-8",    
        success: function (data) {    
            if (data == true) {    
                window.location.href(root + 'Close');    
            }    
        },    
        error: function (xhr, ajaxOptions, thrownError) {    
            alert('Error: ' + thrownError);    
        }            
    });            
} 
根据如下所述的条件启用和禁用控件。我认为这不会使请求被发送两次

@if(Model.SafeDropsTask.Status=='SAVED')
{
接近
}
其他的
{
接近
} 

我已经找到了我所面临问题的原因。由于浏览器速度慢,用户可以多次单击该按钮。为了防止出现这种情况,我已经在用户第一次单击时禁用了按钮。非常感谢那些提供了宝贵意见的人。

我找到了我所面临问题的原因。由于浏览器速度慢,用户可以多次单击该按钮。为了防止出现这种情况,我已经在用户第一次单击时禁用了按钮。非常感谢提供宝贵意见的人。

代码本身看起来不错;是什么让您相信一次发送多个请求?看起来您的代码最多应该发送两个。您是否检查了控制台的“网络”选项卡以查看发送的内容和时间?使用网络工具(如Fiddler或Developer tools)检查请求我在每次操作方法调用时都在写日志。从日志文件中,我了解到了多次呼叫。大多数情况下,每个AJAX方法调用两次。可能是单击事件绑定到按钮两次。检查jquery中的其他代码,以检查脚本最终执行的任何出口是否是重定向,因此使用ajax是毫无意义的(ajax的全部目的是保持在同一页面上!)代码本身看起来很好;是什么让您相信一次发送多个请求?看起来您的代码最多应该发送两个。您是否检查了控制台的“网络”选项卡以查看发送的内容和时间?使用网络工具(如Fiddler或Developer tools)检查请求我在每次操作方法调用时都在写日志。从日志文件中,我了解到了多次呼叫。大多数情况下,每个AJAX方法调用两次。可能是单击事件绑定到按钮两次。检查jquery中的其他代码,以检查脚本最终执行的任何出口是否是重定向,因此使用ajax是毫无意义的(ajax的全部目的是保持在同一页面上!)
@if (Model.SafeDropsTask.Status == 'SAVED' )
    {
        <button type="button" id="close" name="close" onclick="checkAllStatus();">
            <i class="fa fa-check-circle"></i>&nbsp;Close
        </button>
    }
    else
    {
        <button type="button" id="close" name="close" onclick="checkAllStatus();" disabled="disabled">
            <i class="fa fa-check-circle"></i>&nbsp;Close
        </button>
    }