JQuery AJAX error参数

 $.ajax({
               url: "/api/v1/XMProject",    //请求的url地址
               dataType: "json",
               async: true,
               data: data,
               type: "POST",
               success: function (reg) {

                   if (reg.code == 0) {

                           parent.location.href = "/project/xmlist.html";

                   } else {
                       layer.msg(reg.message, {icon: 6, time: 2000});
                   }
               },
               error:function(XMLHttpRequest, textStatus, errorThrown){

               }
           });

上面是一个ajax请求,当http状态码不是200的时候,就进入了error ,function

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

XMLHttpRequest是一个对象:

XMLHttpRequest.readyState: 状态码的意思:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

XMLHttpRequest.status  :返回的HTTP状态码,比如常见的404,500等错误代码。

---------------------------------------------------------------------------------------------------------------

XMLHttpRequest.statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。

XMLHttpRequest.responseText :服务器响应返回的文本信息

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



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

避免每次ajax请求都要设置错误信息,我就把他们放在了全局ajax里:

$.ajaxSetup({   beforeSend:function(){        var username = sessionStorage.account;        if(username==undefined){            layer.alert(‘登录超时,请重新登录!‘,{icon:2},function(){                top.location.href = ‘/login.html‘;            });        }   },   statusCode: {        400:function(XMLHttpRequest, textStatus, errorThrown){            var str =‘‘;            var errorInfo = JSON.parse(XMLHttpRequest.responseText);            console.log(XMLHttpRequest);            if(errorInfo.ModelState!=undefined && errorInfo.ModelState.length!=0){                $.each(errorInfo.ModelState,function(n,val){                    str+=val[0]+‘;<br>‘;                });                layer.alert(str,{icon:2,title:‘错误提示‘});            }        },      401: function () {         alert(‘登录超时,请重新登录!‘);         top.location.href = "/login.html";      },      403:function(){            layer.alert(‘没有访问权限!‘,{icon:5,title:‘警告信息‘});      },

404:function(XMLHttpRequest,textStatus,errorThrown){            var str=‘‘;            var errorInfo = JSON.parse(XMLHttpRequest.responseText);            str+=‘code:‘+errorInfo.code+‘;<br>‘+‘message:‘+errorInfo.message;            layer.alert(str,{icon:2,title:‘错误提示‘});        },      500:function(XMLHttpRequest,textStatus,errorThrown){         var str=‘‘;            var errorInfo = JSON.parse(XMLHttpRequest.responseText);            str+=‘code:‘+errorInfo.code+‘;<br>‘+‘message:‘+errorInfo.message;            layer.alert(str,{icon:2,title:‘错误提示‘});      }   }});
时间: 2024-10-24 08:57:08

JQuery AJAX error参数的相关文章

ASP.NET jquery ajax传递参数

第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: function LoadBar(id) { var project = id; var month = $("#txtMonth").val(); $.ajax({ type: "GET", async: false, url: 'GetProjectScore.aspx?p

jQuery ajax error:parserror

前端jQuery ajax(部分): $.ajax({type:"post",dataType:'json',url:"http://localhost:8080/Authorization/UsernameConfirm.jsp",data:{//传参 "username":$("#username").val(),}, success:function(msg){ $("#showResult").ht

jquery ajax error函数详解

代码:$(document).ready(function() {            jQuery("#clearCac").click(function() {                jQuery.ajax({                    url: "/Handle/Do.aspx",                    type: "post",                    data: { id: '0' }

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jquery ajax error函数和及其参数详细说明 (转)

引用地址:https://blog.csdn.net/u014756827/article/details/52950514 使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细的说明了ajax中error函数和函数中各个参数的用法. 一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown).常见调用代码如下: $.ajax({ url:

jQuery ajax error函数的参数(交互错误信息的获取)

一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown).常见调用代码如下: $.ajax({ url: '/Home/AjaxGetData', success: function (data) { alert(data); }, error: function (jqXHR, textStatus, errorThrown) { /*错误信息处理*/ } }); 这里对这三个参数做详细说明.

jQuery.ajax各种参数及属性设置

$.ajax({ type: "post", url: url, dataType:'html', success: function(data) { }, complete: function(XMLHttpRequest, textStatus) { }, error: function(){} }); success : 当请求成功时调用的函数.这个函数会得到一个参数:从服务器返回的数据.当请求成功时调用函数,即status==200.complete :当请求完成时调用的函数.

jQuery Ajax同步参数导致浏览器假死怎么办

俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责获取数据,然后把数据return.基本的逻辑剥离出来是这样的:  代码如下 复制代码 function getData1(){        var result;        $.ajax({            url : 'p.

Jquery ajax的参数格式化

jQuery的ajax会自动将js对象转换为可传递的参数,$.param(jsobj, boolean),但是默认会把对象中数组类型加上[]符号,后台就不怎么好取了 参数boolean为true时不加[],默认为false. 下面是jQuery参数格式化的源代码 假设对象为{a:1,b:[2,3]} $.ajax中: // Convert data if not already a string if ( s.data && s.processData && typeof