axios实例
Posted harold-hua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios实例相关的知识,希望对你有一定的参考价值。
创建实例
<template> <div class="home"> </div> </template> <script> // @ is an alias to /src import axios from ‘axios‘; export default // axios实例 // 后端接口地址有多个,并且超时时长不一样 name: ‘axios3-1‘, created() let instance1 = axios.create( baseURL: ‘http://localhost:8080‘, timeout: 1000, ) let instance2 = axios.create( baseURL: ‘http://localhost:8081‘, timeout: 5000, ) instance1.get(‘/data.json‘).then(res=> console.log(res) ) , </script>
实例相关配置
<template> <div class="home"> </div> </template> <script> // @ is an alias to /src import axios from ‘axios‘; export default // axios实例相关配置 name: ‘axios3-2‘, created() axios.create( baseURL: ‘http://localhost:8080‘, //请求的域名,基本地址 timeout: 1000, //请求超时时长(ms) url: ‘/data.json‘, //请求路径 method: ‘get, post, put, patch, delete‘, //请求方法 headers: token: ‘‘, , //设置请求头 params: , //请求参数拼接在url上 data: , //请求参数放在请求体 ) // 相当于添加上面的配置信息 // axios.get(‘/data.json‘, // params:, // ) // 1.axios全局配置 axios.defaults.timeout = 1000; axios.defaults.baseURL = ‘http://localhost:8080‘; // 2.axios实例配置 let instance = axios.create(); instance.defaults.timeout = 3000; // 3.axios请求配置 instance.get(‘/data.json‘, timeout: 5000, ) , </script>
常用参数配置具体使用方法
<template> <div class="home"> </div> </template> <script> // @ is an alias to /src import axios from ‘axios‘; export default // axios实例相关配置 name: ‘axios3-2‘, created() axios.create( baseURL: ‘http://localhost:8080‘, //请求的域名,基本地址 timeout: 1000, //请求超时时长(ms) url: ‘/data.json‘, //请求路径 method: ‘get, post, put, patch, delete‘, //请求方法 headers: token: ‘‘, , //设置请求头 params: , //请求参数拼接在url上 data: , //请求参数放在请求体 ) // 相当于添加上面的配置信息 // axios.get(‘/data.json‘, // params:, // ) // 1.axios全局配置 axios.defaults.timeout = 1000; axios.defaults.baseURL = ‘http://localhost:8080‘; // 2.axios实例配置 let instance = axios.create(); instance.defaults.timeout = 3000; // 3.axios请求配置 instance.get(‘/data.json‘, timeout: 5000, ) //实际开发 //有两种请求接口 //http://localhost:9090 //http://localhost:9091 let instance1 = axios.create( baseURL: ‘http://localhost:9090‘, timeout: 1000, ) let instance2 = axios.create( baseURL: ‘http://localhost:9091‘, timeout: 3000, ) //baseUrl, timeout, url, method, params instance1.get(‘/contactList‘, params: , ).then((res)=> console.log(res) ) //baseUrl, timeout: 5000, method, url instance2.get(‘/orderList‘, timeout: 5000, ).then((res)=> console.log(res) ) , </script>
拦截器
<template> <div class="home"> </div> </template> <script> // @ is an alias to /src // 拦截器:在请求或响应被处理前拦截它们 // 请求拦截器,响应拦截器 import axios from ‘axios‘; export default name: ‘axios3-3‘, created() // 请求拦截器 axios.interceptors.request.use(config=> // 在发送请求前做些什么 return config ,err=> // 在请求错误的时候做些什么 return Promise.reject(err) ) // 响应拦截器 axios.interceptors.response.use(res=> // 请求成功对响应数据做处理 return res ,err=> // 响应错误做些什么 return Promise.reject(err) ) // 取消拦截器(了解) let interceptors = axios.interceptors.response.use(config=> config.headers= auth: true, return config ) axios.interceptors.response.eject(interceptors) //实际开发 //登录状态(token: ‘‘),访问需要登录的接口 let instance = axios.create() instance.interceptors.request.use(config=> config.headers.token = ‘‘; return config; ) //访问不需要登录的接口 let newInstance = axios.create() // 移动端开发 let instance_phone = axios.create() instance_phone.interceptors.use(config=> $(‘#modal‘).show() return config ) instance_phone.interceptors.response.use(res=> $(‘#modal‘).hide() return res ) , </script>
以上是关于axios实例的主要内容,如果未能解决你的问题,请参考以下文章