jquery ajax error 函数的参数及使用
Published on 2019-12-31 17:30 in 暂未分类 with deeojunkie

jquery ajax error 函数的参数及使用

    使用jquery的ajax方法向服务器发送请求的时候,可选的回调函数有success、complete、beforeSend、error函数等。error函数常用来进行错误信息的处理,这里着重提一下error函数的参数。

    首先看一下ajax的使用场景:

    复制代码
    $.ajax({
            url:'/Home/AjaxGetData',
            type:"post",
            timeout:5000,
            async:true,
            cache:true,
            data:"user_id=12&page=0",      //发送给服务器的数据
            dataType:"json",
            contentType:"application/x-www-form-urlencoded",
            beforeSend:function(){
                ...     //发送请求 
            },
            success:function(data){
                ...     //执行状态是200时候调用             
            },
            complete:function(){
                ...     //完成了一次请求调用       
            },
            error:function (jqXHR, textStatus, errorThrown){
                /* 错误信息处理 */
                ...     //执行状态是非200时候调用
            }
        });
    复制代码

     

     

    一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown)


     第一个参数 jqXHR jqXHR:这里的jqXHR是一个jqXHR对象,在Jquery1.4和1.4版本之前返回的是XMLHttpRequest对象,1.5版本以后则开始使用jqXHR对象,该对象是一个超集,就是该对象不仅包括XMLHttpRequest对象,还包含其他更多的详细属性和信息。

    这里主要有4个属性:

    • readyState :当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
    • status  :返回的HTTP状态码,比如常见的404,500等错误代码。
    • statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
    • responseText :服务器响应返回的文本信息

    第二个参数 String textStatus:返回的是字符串类型,表示返回的状态,根据服务器不同的错误可能返回下面这些信息:"timeout"(超时), "error"(错误), "abort"(中止), "parsererror"(解析错误),还有可能返回空值。


    第三个参数 String errorThrown:也是字符串类型,表示服务器抛出返回的错误信息,如果产生的是HTTP错误,那么返回的信息就是HTTP状态码对应的错误信息,比如404的Not Found,500错误的Internal Server Error。


     

     

    用法示例:

    复制代码
    $.ajax({
            url: '/AJAX请求的URL',            
            success: function (data) {
                alert(data);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                /*弹出jqXHR对象的信息*/
                alert(jqXHR.responseText);
                alert(jqXHR.status);
                alert(jqXHR.readyState);
                alert(jqXHR.statusText);
                /*弹出其他两个参数的信息*/
                alert(textStatus);
                alert(errorThrown);
            }
        });
    复制代码

     

     

     

    参考:https://blog.csdn.net/u014756827/article/details/52950514

      

    posted @   deeojunkie  阅读(658)  评论(0编辑  收藏  举报
    编辑推荐:
    · Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
    · 开发者必知的日志记录最佳实践
    · SQL Server 2025 AI相关能力初探
    · Linux系列:如何用 C#调用 C方法造成内存泄露
    · AI与.NET技术实操系列(二):开始使用ML.NET
    阅读排行:
    · 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
    · 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
    · 【自荐】一款简洁、开源的在线白板工具 Drawnix
    · 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
    · Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
    点击右上角即可分享
    微信分享提示