//防止重复提交 var pendingRequests = {}; jQuery.ajaxPrefilter(function( options, originalOptions, jqXHR pendingRequests[key]) { pendingRequests[key] = jqXHR; }else{ //jqXHR.abort(); //放弃后触发的提交 (); // 放弃先触发的提交 } var success = options.success; options.success = function(jqXHR arguments); } }; var error = options.error; options.error = function(jqXHR
$.ajax()的返回值为 jqXHR对象,因此可以利用 jqXHR对象的方法() jqXHR.done(function( data, textStatus, jqXHR ) {}); 成功回调选项的可选构造器 An alternative construct to the success callback option. jqXHR.fail(function( jqXHR, textStatus, errorThrown An alternative construct to the error callback option. jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { }); (added in jQuery 1.6) 无论成功还是错误,均会执行。 errorThrown. jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown
text:返回纯文本字符串 (8)beforeSend :类型: Function( jqXHR jqXHR, PlainObject settings ) 请求发送前的回调函数,用来修改请求发送前 该jqXHR和设置对象作为参数传递。这是一个Ajax事件 。 (10)error : 类型: Function( jqXHR jqXHR, String textStatus, String errorThrown ) 请求失败时调用此函数。 (11)complete : 类型: Function( jqXHR jqXHR, String textStatus ) 请求完成后回调函数 (请求success 和 error之后均调用)。 **success** 类型:Function( PlainObject data, String textStatus, jqXHR jqXHR ) 当请求成功后执行的回调函数。
jQuery.post() ---- jQuery.post( url [, data ] [, success ] [, dataType ] )Returns:jqXHR Description: success Type: Function( Object data,String textStatus,jqXHR jqXHR ) A callback function that is //解释一下:自从jQuery1.5后是用的jqXHR 对象,而曾经的版本号是用的XMLHttpRequest对象。通过post方法获取的数据不会缓存。 Deprecation Notice The jqXHR.success(), jqXHR.error(), andjqXHR.complete() callback methods introduced To prepare your code for their eventual removal, usejqXHR.done(),jqXHR.fail(), and jqXHR.always() instead
searchResult").html("出现错误:" + data.msg); } }, error: function(jqXHR ){ alert("发生错误:" + jqXHR.status); }, }); }); createResult").html("出现错误:" + data.msg); } }, error: function(jqXHR ){ alert("发生错误:" + jqXHR.status); }, }); }); });
headers: { // 默认添加请求头 "Authorization": "Bearer xxxxtokenxxx" , } , error: function(jqXHR , textStatus, errorMsg){ // 出错时默认的处理函数 // jqXHR 是经过jQuery封装的XMLHttpRequest对象 // textStatus headers: { // 默认添加请求头 "Authorization": "Bearer xxxxtokenxxx" , } , error: function(jqXHR , textStatus, errorMsg){ // 出错时默认的处理函数 // jqXHR 是经过jQuery封装的XMLHttpRequest对象 // textStatus
success对应done,error对应fail,complete对应always,就这样,只是为了与ajax的参数名字上保持一致而已,更方便大家记忆,看一眼源码: deferred.promise( jqXHR ).complete = completeDeferred.add; jqXHR.success = jqXHR.done; jqXHR.error = jqXHR.fail; complete那一行那么写 deferred.promise( jqXHR )这句也能看出,ajax返回的是受限的Deferred对象。 jquery加了这么些个语法糖,虽然上手门槛更低了,但是却造成了一定程度的混淆。
发送到服务器的数据 data Type String 预期服务器返回的数据类型,包括:xml,HTML Script JSON JSONP text 常用函数参数 参数类型说明beforeSendFunction(jqXHR jqxhr,PlainObject settings)发送请求前调用的函数successFunction(任意类型 result,String textStatus,jqXHR jqxhr)请求成功后调用的函数参数
proc=getpdf", type: "GET", data: "", error: function(jqXHR, textStatus alert(textStatus); } }, success: function(data, textStatus, jqXHR ) { alert(jqXHR.getResponseHeader("file")); } }); }); ?
color='red'>" + data.msg + ""); } }, error: function(jqXHR ){ alert("发生错误:" + jqXHR.status); } }); }); color='red'>" + data.msg + ""); } }, error: function(jqXHR ){ alert("发生错误:" + jqXHR.status); } }); }); }); 调用的
', data: reqdata,//JSON.stringify(reqdata) success: function (response, textStatus, jqXHR JSON.stringify(reqdata),//JSON.stringify(reqdata) success: function (response, textStatus, jqXHR ', data: reqdata,//JSON.stringify(reqdata) success: function (response, textStatus, jqXHR JSON.stringify(reqdata),//JSON.stringify(reqdata) success: function (response, textStatus, jqXHR JSON.stringify(reqdata),//JSON.stringify(reqdata) success: function (response, textStatus, jqXHR
xhr.setRequestHeader(“Authorization”, “Authorization”) ; }); //局部 第一种 $(‘xxx’).ajax({ //… beforeSend:function(jqXHR ,options){ jqXHR.setRequestHeader(“Content-Type”, “application/json;charset=utf-8”) ; jqXHR.setRequestHeader
(data, status, xhr) { console.log("成功:" + JSON.stringify(data)); }, error: function (jqXHR console.log(jqXHR); console.log(error); console.log(exception); console.log(JSON.stringify (exception.toString)); }, complete: function (jqXHR) { console.log("调用完成!") (data, status, xhr) { console.log("成功:" + JSON.stringify(data)); }, error: function (jqXHR (exception.toString)); }, complete: function (jqXHR) { console.log("调用完成!")
[, dataType ] ) url 请求的后台地址 data 传递的参数 success 成功的回调, function(PlainObject data, String textStatus, jqXHR jqXHR ) dataType 预期后台返回数据的类型,默认会自动智能判断(xml, json, script, text, html) $.get('/user.json', function(data 语法: jQuery.getScript( url [, success ] ) $.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) { console.log( data ); // Data returned console.log( textStatus ); // Success console.log( jqxhr.status
", data:{}, success:function(data){ }, error:function(jqXHR success: function (data) { }, error: function (jqXHR
pageContext.request.contextPath}/rest/orders/x", 4 success: function(data, textStatus, jqXHR ; 11 }, 12 error: function(jqXHR, textStatus, errorThrown){ 13 pageContext.request.contextPath}/common-exception", 4 success: function(d, textStatus, jqXHR ; 11 }, 12 error: function(jqXHR, textStatus, errorThrown){ 13
else{ alert('添加失败') } }, error: function (jqXHR ); alert('添加失败') } }, error: function (jqXHR 重新可点击 alert('添加失败') } }, error: function (jqXHR
true, data: {}, success: function (rep, textStatus, jqXHR true, data: {}, success: function (rep, textStatus, jqXHR ) { completeF(jqXHR, textStatus); }, success: function (rep, textStatus, jqXHR) { SuccessF(rep, textStatus, jqXHR); }, error : function (rep, textStatus, jqXHR) { ErrorF(rep, textStatus, jqXHR); },
console.log(data) }, error: function (jqXHR console.log(arguments); }, complete: function (jqXHR (textStatus); }, statusCode: { '403': function (jqXHR console.log(arguments); }, '400': function (jqXHR
headers : { 'Content-Type' : 'application/x-www-form-urlencoded' }, error : function(jqXHR , textStatus, errorThrown) { switch (jqXHR.status) { case (500): layer.alert