axios
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端
它本身具有以下特征:
从浏览器中创建 XMLHttpRequest
从 node.js 发出 http 请求
支持 Promise API
拦截请求和响应
转换请求和响应数据
取消请求
自动转换JSON数据
客户端支持防止 CSRF/XSRF
安装
安装其他插件的时候,可以直接在 main.js 中引入并 Vue.use(),但是 axios 并不能 use,只能每个需要发送请求的组件中即时引入
为了解决这个问题,有两种开发思路,一是在引入 axios 之后,修改原型链,二是结合 Vuex,封装一个 aciton
使用npm
npm install axios
使用cdn:
解决post方法使用application/x-www-form-urlencoded格式编码数据
设置 headers:{ 'Content-type': 'application/x-www-form-urlencoded'}
axios.post('url',data,{headers:{ 'Content-type': 'application/x-www-form-urlencoded'}})
// 不想在每次请求都设置的话,可以集中设置下
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;