Boîtier de module à Axios
- Créer un
network
dossier- Création d' un
request.js
fichier - Création d' un
main.js
fichier
- Création d' un
request.js
import axios from 'axios'
export function request(config) {
//1.创建axios的实例
const instance = axios.create({
timeout: 5000//超时设置
})
//2.axios拦截器
//2.1请求拦截的作用
axios.interceptors.request.use(config => {
console.log(config)
//1.比如说config中的一些信息不符合服务器的要求
//2.比如每次发送网络请求时,都希望在界面中显示一个请求的图标
//3.某些网络请求(比如登陆(token)),必须携带一些特殊的信息
return config
}, err => {
console.log(err)
})
//2.2 响应拦截的作用
axios.interceptors.response.use(res => {
console.log(res)
}, err => {
console.log(err)
})
//3.发送真正的网络请求
return instance(config)
}
main.js
import {request} from './request'
export function 函数名(){
return request({
url: '请求地址'
})
}
utilisation
函数名()
.then(res => {
console.log(res)
})
.catch(
);
Configuration des options communes
-
Demander l'adresse
url: '/user'
-
Type de demande, par défaut get
methods: 'get'
-
demande de chemin racine
baseURL: 'http://www.aaa.com/api'
-
Les demandes de traitement de données devant
transformRequest: [function(data) {}]
-
tête de requête personnalisée
headers: {'x-Requested-With': 'XMLHttpRequest'}
-
URL objet de requête (requête get)
params: {name: lazy}
-
Query fonction de sérialisation d'objet
paramsSerializer: function(params){}
-
corps de la requête (requête post)
data: {name: lazy}
-
réglage du délai d'attente (s)
timeout: 1000
-
Avec ou sans inter-domaines Token
withCredentials: false
-
traitement de la demande personnalisée
adapter: function(resolve, reject, config){}
-
informations d'authentification
auth: {uname: '', pwd: '12'}
-
format de données de réponse
responseType: 'json'