axios

Posted PeriHe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios相关的知识,希望对你有一定的参考价值。

 

安装

npm install axios

main.js

//引入
import axios from ‘axios‘
//挂载到原型链
Vue.prototype.$http = axios

使用

// 获取模块
getModules(){
   this.$http.get(‘/warn/module‘ ).then((json) => {
      if (json.success == true) {
          this.modules = json.data;
       } else {
          this.$message(json.errorMsg);
       }
   }) 
}
//消除告警
 cancelAlarm(){
      this.$http.get(‘/warn/remove‘,{
      params:{
          reason:this.reason,
          id:this.alarmId
      }
       }).then((json) => {
          if (json.success == true) {
                  this.$message(‘消除成功!‘);
           } else {
                  this.$message(json.errorMsg);
            }
     }) 
}

并发请求。注意返回的是promise对象才可以喔

 //并发请求,并用spread方法拆分
getTest(){
  this.$http.all([this.getModules(),this.getTypes()]).then( 
  this.$http.spread((res1,res2)=>{
  console.log(res1)
  console.log(res2)
  }))
},

拦截器

axios.interceptors.request.use((config) => {
    //拦截之前做的事
    config.headers[‘X-Requested-With‘] = ‘XMLHttpRequest‘
    config.url = config.url;
    return config;
},(error)=>{
    //请求错误做的事
    return Promise.reject(error);
});

 

以上是关于axios的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

ajax与 axios的基础讲解(附代码及接口)

项目集成element-plus和axios

回归 | js实用代码片段的封装与总结(持续更新中...)

执行带有axios的GET请求时出现401错误

前端面试题之手写promise