简介
现在主流的通信框架有
ajax``axios
fetch
一般是在
mounted
或者created
周期中使用请求。优先在**created**
中请求,因为在mounted中使用可能会出现闪屏。因为mounted时dom已经创建好,执行请求,然后根据请求又修改dom导致闪屏。视情况决定axios使用
post时传递普通参数(&)
axios请求get时默认为&参数形式。请求post时默认为json形式。如果在post时希望后端使用@RequestParam或者getAttribe,那么直接传个&形式参数即可,axios会自动识别然后将
application/json
改为application/x-www-form-urlencoded
axios.post('/user', 'name=jerry&age=19')
.then(res => {
console.info(res)
}
);
或者参数写在axios外面定义
const params = new URLSearchParams();
params.append('name', 'jerry');
params.append('age', 19);
axios.post('/user', params)
.then(res => {
console.info(res)
}
);
别名方法
为了方便,,axios 已经为所有支持的请求方法提供了别名。使用别名方法时,不需要在参数config中指定url,请求方法类型,data
- 别名方法其实就是axios()方法的再次封装 ```javascript • axios.request(config)
• axios.get(url [,config])
• axios.delete(url [,config])
• axios.post(url [,data [,config]])
• axios.put(url [,data [,config]])
• axios.patch(url [,data [,config]])
• axios.head(url [,config])
```javascript
axios.get('/user?name=tom&age=20')
.then(res => {
console.info(res)
}).catch(e => {
console.info(e)
});
axios.post('/user', {
name: 'tom',
age: 20
}).then(res => {
console.info(res)
}).catch(e => {
console.info(e)
});
axios()使用
axios({
url: '/user',
method: 'GET',
params: {
ID: 123
}
}).then( res => {
console.info(res)
}).catch( e => {
console.info(e)
})
//还可以这样传递参数:
const obj = new URLSearchParams();
obj.append('ID', 123);
axios({
url: '/user',
method: 'GET',
params: obj // 看这里,看这里,看这里
axios({
url: '/user',
method: 'POST',
data: {
name: 'tom',
age: 20
}
}).then( res => {
console.info(res)
}).catch( e => {
console.info(e)
});
添加头部信息
//在参数列表里增加:
headers: {
'header名': '...'
}