04实例配置与响应

Axios实例

使用自定义配置新建一个实例:

const instance = axios.create({
    baseURL: 'http://some-domain.com/api/',
    timeout: 1000,
    headers: {'X-Custom-Header': 'foobar'}
})

axios.get()等方法都是实例方法。

请求配置

以下是创建请求时可以使用的配置。只有url是必须的。不指定method,请求就默认是GET

  • url 请求的服务器的url
  • method 创建请求时使用的方法
  • baseURL 自动加在url前面
  • transformRequest: [function(data, header) { return data }]发请求前修改请求数据,只能用于post,put,patch
  • transformResponse: [function (data) { return data }] 传递给 .then/catch之前修改相应数据
  • headers: {'X-Requested-With': 'XMLHttpRequest'} 自定义请求头
  • params: { id: 12345 } 设置与请求一起发送的URL参数,必须是简单对象
  • data: { firstname: 'qiling' } 作为请求体被发送的数据
  • timeout 指定请求超时的毫秒数
  • proxy 定义代理服务器的主机名,端口,协议
  • validatestatus: function (status) { return status >= 200 && status < 300; // 默认值 } 如果返回true就resolved,否则就是rejected

响应结构

一个请求的响应包含以下信息:

{
    //服务器提供的响应
    data: {},
    //来自服务器响应的HTTP状态码
    status: 200,
    //来自服务器响应的状态信息
    statusText: 'OK',
    //服务器响应头
    headers: {},
    //axios请求的配置信息
    config: {},
    //生成此响应的请求,在浏览器中是XMLHttpRequest实例
    request: {}
}

使用.then 时将获得以下相应:

axios.get('/user/12345')
  .then(function (response) {
    console.log(response.data);
    console.log(response.status);
    console.log(response.statusText);
    console.log(response.headers);
    console.log(response.config);
  });

数据,状态码,状态信息,响应头,请求的配置信息,生成此响应的请求。如果使用catch,相应可通过error对象被使用。

posted @ 2021-12-30 17:25  太空人CW  阅读(42)  评论(0)    收藏  举报