【jQuery】$.ajax() 常用参数理解

参考:http://hemin.cn/jq/jQuery.ajax.html
注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。
个人理解全局设置,在每次调用$.ajax()时都会执行 $.ajaxSetup()函数的内容;
1、回调函数:

  1. beforeSend,    在发送请求之前调用。
  2. error,             请求出错时调用。
  3. dataFilter,       请求成功之后调用。
  4. success,         请求之后调用。
  5. complete        请求完成后调用,无论成功与否。

关于dataFilter要理解的:
       当用户的session失效时可使用ajax请求时,可以使用这个函数进行判断是否要重新跳转到登录界面
(系统的过滤器发现用户ajax的请求,但用户没有登录或session失效时返回字符串”timeOut"):

 $.ajaxSetup({
         dataFilter : function(data, type){
             console.log("data:"+data);
            if(data == "timeOut" || data == "[object XMLDocument]"){
                //ajax请求,发现session过期,重新刷新页面,跳转到登录页面
                window.location.reload();
            }else{
                return data;
            }
        }
    })

参考:http://txjdsk.iteye.com/blog/1861210
2、设置参数:

  1. url,               发送请求地址;
  2. cache,           默认缓存页面,[dataType为script和jsonp时默认不缓存]   
  3. async,           默认true异步请求;
  4. contentType, 发送至服务器时内容编码类型;默认: "application/x-www-form-urlencoded"
  5. data,            发送到服务器数据,key/value格式,可以是字符串也可以是映射。  
  6. dataType,     数据返回格式;默认字符串:xml,html,script,json,jsonp,text
  7. global,          是否触发全局AJAX事件,默认true
  8. type,            请求方式(POST或GET);默认GET
  9. statusCode,  根据相应状态码,回调函数。

dataType和contentType是一组的;如图

关于statusCode例子:

$.ajax({
  statusCode: {404: function() {
    alert('page not found');
  }
});
posted @ 2015-08-29 13:58  oiliu  阅读(447)  评论(0编辑  收藏  举报