axios配置对象说明 —— Request Config

Request Config这些是发出请求的可用配置选项。只有url是必需的。请求将默认为GET如果method未指定。{// `url`指明给谁发送请求url: /user,// `method`设置请求的类型method: get, // default 默认get请求// `...

Request Config
这些是发出请求的可用配置选项。只有url是必需的。请求将默认为GET如果method未指定。
{
  // `url`指明给谁发送请求
  url: '/user',

  // `method`设置请求的类型
  method: 'get', // default 默认get请求

  // `baseURL`设置url的基础结构,axios内部会自动将url和baseURL做一个路径结合,形成最终的url结构
  baseURL: 'https://some-domain.com/api/',

  // `transformRequest`对请求数据做一个处理,处理完之后将处理后的结果向服务器发送
  transformRequest: [function (data, headers) {
    // Do whatever you want to transform the data
    return data;
  }],

  // `transformRequest`可以对响应的结果做一些改变,改变之后再用自定义回调去处理结果
  // `transformResponse` 允许在响应数据之前更改
  // it is passed to then/catch
  transformResponse: [function (data) {
    // Do whatever you want to transform the data

    return data;
  }],

  // `headers` 在某些项目中进行身份校验的时候要求在请求头信息中加入一些特殊的标识,来检验请求是否满足条件
  headers: {'X-Requested-With': 'XMLHttpRequest'},

  // `params` 简化传递url参数流程
  params: {
    ID: 12345
  },
  axios({
    url: '/post'
    params: {
      a:100,
      b:200
    }
  })

  // `paramsSerializer` 使用相对较少,对请求的参数序列化,转化为一个字符串
  // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
  paramsSerializer: function (params) {
    return Qs.stringify(params, {arrayFormat: 'brackets'})
  },

  // `data` 请求体设置,有两种形式可以设置,对象形式/字符串形式
  // 对象形式:axios会将其转成字符串形式传递
  // 字符串形式:axios直接传递
  data: {
    firstName: 'Fred'
  },
  
  data: 'Country=Brasil&City=Belo Horizonte',

  // `timeout` 设置超时时间,发送时超过这个时间,请求被取消,单位毫秒
  // `withCredentials` 在跨域请求时对coockie的携带做一个设置,falsewei'u
  withCredentials: false, // default

  // `adapter` 对请求的识别做一个设置,一种是发送ajax请求,
  // 另一种是在js里发送http请求
  adapter: function (config) {
    /* ... */
  },

  // `auth` 对请求的基础信息验证做设置
  auth: {
    username: 'janedoe',
    password: 's00pers3cret'
  },

  // `responseType` 对响应器结果的格式做设置
  responseType: 'json', // default 默认

  // `responseEncoding` 响应结果编码格式
  responseEncoding: 'utf8', // default

  // `xsrfCookieName` 跨域请求标识,对coockie名字做设置
  xsrfCookieName: 'XSRF-TOKEN', // default

  // `xsrfHeaderName` 对头信息做设置,是一个安全设置,保证请求来自于自己的客户端
  xsrfHeaderName: 'X-XSRF-TOKEN', // default

  // `onUploadProgress` 上传回调
  onUploadProgress: function (progressEvent) {
    // Do whatever you want with the native progress event
  },

  // `onDownloadProgress` 下载回调
  onDownloadProgress: function (progressEvent) {
    // Do whatever you want with the native progress event
  },

  // `maxContentLength` 设置http响应体的最大尺寸,单位bit
  maxContentLength: 2000,

  // `maxBodyLength` 请求体的最大尺寸
  maxBodyLength: 2000,

  // `validateStatus` 对响应结果的成功码做一个设置 
  validateStatus: function (status) {
    return status >= 200 && status < 300; // default
  },

  // `maxRedirects` 最大跳转次数
  maxRedirects: 5, // default

  // `socketPath` 设定socketPath位置,作用:数据转发
  socketPath: null, // default

  // `httpAgent` and `httpsAgent` 对http客户端的一些信息做设置
  // `keepAlive` that are not enabled by default.
  httpAgent: new http.Agent({ keepAlive: true }),
  httpsAgent: new https.Agent({ keepAlive: true }),

  // `proxy` 设置代理
  proxy: {
    protocol: 'https',
    host: '127.0.0.1',
    port: 9000,
    auth: {
      username: 'mikeymike',
      password: 'rapunz3l'
    }
  },

  // `cancelToken` 对ajax的请求做一个取消设置

  // `decompress` 对响应结果做一个解压
  decompress: true // default
}

本文标题为:axios配置对象说明 —— Request Config

基础教程推荐