特点
-
支持客户端发送Ajax请求
-
支持服务端Node.js发送请求
-
支持Promise相关用法
-
支持请求和响应的拦截器功能
-
自动转换JSON数据
-
axios 底层还是原生js实现, 内部通过Promise封装的
axios的基本使用
axios({ method: '请求方式', // get post url: '请求地址', data: { // 拼接到请求体的参数, post请求的参数 xxx: xxx, }, params: { // 拼接到请求行的参数, get请求的参数 xxx: xxx } }).then(res => { console.log(res.data) // 后台返回的结果 }).catch(err => { console.log(err) // 后台报错返回 })
目标: 避免前缀基地址, 暴露在逻辑页面里, 统一设置
axios.defaults.baseURL = "http://123.57.109.30:3006" // 所有请求的url前置可以去掉, 请求时, axios会自动拼接baseURL的地址在前面 getAllFn() { axios({ url: "/api/getbooks", method: "GET", // 默认就是GET方式请求, 可以省略不写 }).then((res) => { console.log(res); }); // axios()-原地得到Promise对象 },
$refs-获取组件对象
目标: 获取组件对象, 调用组件里方法
$nextTick使用
Vue更新DOM-异步的
目标: 点击count++, 马上通过"原生DOM"拿标签内容, 无法拿到新值