⑦. axios的响应结果
- ①. data:实际响应回来的数据
- ②. status:响应转态码(200表示成功)
- ③. headers:相应头的信息
- ④. statusText:响应状态信息
⑧. axios 全局配置
①. 配置公共的请求头
axios.defaults.baseURL = ‘https://api.example.com’;
②. 配置超时时间
axios.defaults.timeout = 2500;
③. 配置公共的请求头
axios.defaults.headers.common[‘Authorization’] = AUTH_TOKEN;
④. 配置公共的 post 的 Content-Type
axios.defaults.headers.post[‘Content-Type’] = ‘application/x-www-form-urlencoded’;
加了这个参数,那么传参格式就是 uname=zhangsan&pwd=111
在axios中我们默认是采用JSON格式进行传参的
⑨. axios 拦截器
- ①. 请求拦截器
- 请求拦截器的作用是在请求发送前进行一些操作
- 例如在每个请求体里加上token,统一做了处理如果以后要改也非常容易
//请求拦截器 axios.interceptors.request.use(config => { console.log(config.url); config.headers.myToken = 'xiaozhi'; return config; }, error => { console.log(error); });
- ②. 响应拦截器
- 响应拦截器的作用是在接收到响应后进行一些操作
- 例如在服务器返回登录状态失效,需要重新登录的时候,跳转到登录页
//响应拦截器 axios.interceptors.response.use(reponse => { //这里的reponse和axios.get().then(response) 是一样的 //注意:如果这里data做了处理,那么在axios.get().then(response) 中得到的data就是这里return回去的 var data = reponse.data; console.log("----" + data); return data; }, error => { console.log(error); }); axios.get('http://127.0.0.1:30021/staffSelect/list?page=1&&limit=10').then(response => { //注意data属性是固定的用法,用于获取后台的实际数据 //console.log(response.data);//Object { code: 0, msg: "", data: (10) […], count: 27476 } //这里的response是真实的数据,我们在响应拦截器中做了处理 console.log(response);//Object { data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest } });