什么是axios
axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,它本身具有以下特征:
- 从浏览器中创建XMLHttpRequest
- 从 nodejs 发出http请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 自动转换JSON数据
- 客户端支持防止 CSRF/XSRF
在Vue中使用
get请求
1 | // 安装 |
两种传递参数的形式:1
2
3
4
5
6
7
8
9
10// 推荐:(都是CNODE官方提供的API)
axios.get('url', {
params: {
page: 1,
limit: 10
}
})
// 将参数直接写在地址后
axios.get('https://cnodejs.org/api/v1/topics?page=1&limit=15')
post请求
POST传递数据有两种格式:
- form-data?page=1&limit=10
- xwwwformurlencoded { page: 1,limit: 10 }
但因为在axios中post请求接收的参数必须是form-data的格式,所以需要用到一个qs插件来转换参数格式1
2
3
4
5
6
7
8
9
10
11
12// npm install qs
// qs.stringify 可以将格式转换成 form-data 的形式
postData(){
this.$http.post('url',qs.stringify({
page:1,
limit:10
})).then(res=>{
this.items = res.data.data;
console.log(res)
})
}