$.ajaxSetup()与$.ajax()区别

ajaxSetup()其使用方法与ajax()并无区别,只是在其之后的ajax()不用再重复添加相同参数,节省了代码量。
附:API中关于jQuery.ajaxSetup([options])的描述和jQuery 代码:
描述:
设置 AJAX 请求默认地址为 “/xmlhttp/”,禁止触发全局 AJAX 事件,用 POST 代替默认 GET 方法。其后的 AJAX 请求不再设置任何选项参数。
jQuery 代码:

$.ajaxSetup({
  url: "/xmlhttp/",
  global: false,
  type: "POST"
});
$.ajax({ data: myData });

function getCookie(name) {
  var cookie = document.cookie
  // console.log(cookie);
  var arr = cookie.split("; ") //将字符串分割成数组
  // console.log(arr);
  for (var i = 0; i < arr.length; i++) {
    var arr1 = arr[i].split("=")
    if (arr1[0] == name) {
      return unescape(arr1[1])
    }
  }
  return "GG"
}

var token = getCookie("token")
$.ajaxSetup({
  // contentType:"application/x-www-form-urlencoded;charset=utf-8",
  headers: {
    token: token
  },
//请求携带token必须设置以下参数
//--------------------------
  crossDomain: true,
  xhrFields: {
    withCredentials: true // 要在这里设置 跨域设置cookie
  },
//--------------------------
  complete: function(XMLHttpRequest, textStatus) {
    // console.log(XMLHttpRequest,textStatus)
    if (XMLHttpRequest.status == 401) {
      window.location.href = "/"
    }
  }
})


原文地址:https://www.cnblogs.com/FormerWhite/p/11752810.html