如何处理所有 AJAX 调用的特定 HTTP 错误



我有一个 Web 应用程序,通过 AJAX 请求和发送数据,作为响应,我的服务器端根据情况发送 HTTP 状态代码。 因此,例如,如果用户在登录时尝试登录,我可能会返回一个400 HTTP status code。最终我用警报等来处理它。

但是处理这些HTTP状态代码变得太繁重了,因为我大量使用AJAX。 这意味着我将在每个 AJAX 请求中重复处理 HTTP 状态代码,这将导致代码重复,这是一种不好的做法。

所以,我正在寻找一种在一个地方处理所有这些错误的方法,所以我只使用相同的代码处理所有400401等。

我目前正在做什么:

手动处理每个 AJAX 调用的错误。通过使用$.ajax()中的statusCode

  statusCode: {
        500: function(data) {
            alert('Some friendly error message goes here.');
        }

这对我来说似乎有点矫枉过正,因为我的 Web 应用程序在开发,并且随着我创建更多的 ajax 调用。我将一遍又一遍地重复这段代码。

目前,我想到的唯一想法是创建一个可以在 AJAX 上运行的函数,如下所示:

    function doAjax(type,url, data, moreVars) {
//this function is just a SIMPLE example, could be more complex and flexible.
        $.ajax({
            type: type,
            url: url,
            data: data,
            moreOptions:moreVars,
            //now handling all status code.
            statusCode: {
                //handle all HTTP errors from one place.
            }
        });
    }
    doAjax("POST", 'mydomain.com/login.php', dataObj);

可以使用$.ajaxSetup()注册全局错误状态处理程序。

描述 :为将来的 Ajax 请求设置默认值。

例:

$.ajaxSetup({
    statusCode: {
        500: function(data) {
            alert('Some friendly error message goes here.');
        } 
    }   
});

相关内容

  • 没有找到相关文章