jQuery.ajaxSetup() 函数详解

该函数用于更改jQuery中AJAX请求的默认设置选项。之后执行的所有AJAX请求,如果对应的选项参数没有设置,

将使用更改后的默认设置。

//设置AJAX的全局默认选项
$.ajaxSetup( {
    aysnc: true, // 默认同异加载
    type: "POST" , // 默认使用POST方式
    headers: { // 默认添加请求头
        "Author": "arzorath" ,
        "Powered-By": "arzorath"
    } ,

 //完成请求后触发。即在success或error触发后触发

  complete : function (request, textStatus) {

  // 一般这里写一些公共处理方法,比如捕获后台异常,展示到页面

     var status = request.status;
      //后台自定义抛出异常后处理
      if(status == 299) {
       var msg = request.responseText || "数据异常!"
       parent.$.messager.alert('错误提示', request.responseText || "数据异常!", "error" );
      } else if(status == 298){
       //未登录
       parent.$.messager.alert('错误提示', request.responseText,"error");
      } else if(status == 404){
       parent.$.messager.alert('错误提示', request.responseText,"error");
      } else if(status == 0){
       //超时 返回0
       if("timeout" == textStatus) {
        parent.$.messager.alert('错误提示', "服务器连接超时!","error");
       }
      } else if(status == 200){
       //页面能相应
       if(textStatus != "success") {
        var content = request.responseText;
    
       }
      }

    },
    error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象
        // textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"
        // errorMsg 可能为: "Not Found"、"Internal Server Error"等

        // 提示形如:发送AJAX请求到"/index.html"时出错[404]:Not Found
        alert( '发送AJAX请求到"' + this.url + '"时出错[' + jqXHR.status + ']:' + errorMsg );        
    }
} );

// 上述$.ajaxSetup()的默认设置对$.get()、$.post()、load()、$.getJSON()、$.getScript()等AJAX函数也生效
// 因为这些函数也是在内部调用$.ajax()函数来实现的,只不过它们在内部都设置了一些参数


// $.get()在内部调用$.ajax()时已设置type为"GET",因此仍然使用GET方式。
// 但url、async、headers、error等参数的默认值已被$.ajaxSetup()更改
$.get( );


// $.post()在内部调用$.ajax()时已设置type为"POST",因此仍然使用POST方式。
// url也被设置为"user/action.php?method=addUser"
// 但async、headers、error等参数的默认值已被$.ajaxSetup()更改
$.post( "user/action.php?method=addUser" );

posted @ 2016-04-16 16:13  【云】风过无痕  阅读(2443)  评论(0编辑  收藏  举报