1.公共url配置

  1. axios.defaults.baseURL="http://127.0.0.1:8888/api/private/v1/"

2.先引入axios

在全局的main.js中引入axios,之后对公共的urll进行配置,在vue的原型上定义一个属性,等于这个axios,因为组件都继承Vue原型对象,所以在任意组件使用this.$http就相当于使用了axios

  1. import axios from "axios"
  2. axios.defaults.baseURL="http://127.0.0.1:8888/api/private/v1/"
  3. Vue.prototype.$http=axios
  1. const {data:res} =await this.$http.post("login",this.loginForm)

3.使用async

应为axios返回的是一个promise,因此这里可以使用async函数去简化它

  1. loginHandle(){
  2. this.$refs.loginFormRef.validate(async valid=>{
  3. if(!valid) return;
  4. // console.log(this.$http);
  5. const {data:res} =await this.$http.post("login",this.loginForm)
  6. if(res.meta.status !==200){
  7. console.log("登陆失败");
  8. }
  9. })
  10. }