在html中使用Vue和Axios时,可以在HTML中引入Vue库和Axios库,然后使用Vue的语法和指令来创建Vue组件和模板。在Vue组件中,你可以使用Axios发送HTTP请求来获取数据,并将数据绑定到Vue模板中进行展示。

<template>
  <div>
    <button @click="getData">发送请求</button>
    <div>{{ response }}</div>
  </div>
</template>

<script>
// 导入Vue和axios
import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
import axios from 'axios';

// 创建Vue应用
const app = createApp({
  data() {
    return {
      response: ''
    };
  },
  methods: {
    async getData() {
      try {
        const response = await axios.get('https://api.example.com/data');
        this.response = response.data;
      } catch (error) {
        console.error(error);
      }
    }
  },
  created() {
    // 设置请求拦截器
    axios.interceptors.request.use(
    // config就是本次发请求的信息
      config => {
        // 在发送请求之前做些什么
        console.log('请求拦截器');
        return config;
      },
      error => {
        // 对请求错误做些什么
        console.error(error);
        return Promise.reject(error);
      }
    );

    // 设置响应拦截器
    axios.interceptors.response.use(
      response => {
        // 对响应数据做些什么
        console.log('响应拦截器');
        return response;
      },
      error => {
        // 对响应错误做些什么
        console.error(error);
        return Promise.reject(error);
      }
    );
  }
});

// 挂载Vue应用到指定元素上
app.mount('#app');
</script>

这段代码在HTML中使用了Vue,使用axios并设置了请求拦截器和响应拦截器。它实现了在页面中发送请求并显示响应数据的功能。

在模板中,有一个按钮,当点击按钮时,会调用getData方法发送请求。响应数据会显示在页面上的response变量中。

在created生命周期钩子中,我们设置了请求拦截器和响应拦截器。请求拦截器会在发送请求之前执行,可以在此处进行一些操作,比如添加请求头、修改请求参数等。响应拦截器会在接收到响应数据之后执行,可以在此处对响应数据进行处理,比如解析数据、错误处理等。

这样,每次发送请求时,拦截器会先执行相应的操作,然后再发送请求或处理响应数据。

想要实现封装Axios以及请求拦截器和响应拦截器,只需将相应的操作提取出来,放在一个文件夹下,在需要使用的地方使用script引入文件即可。 

/** axios封装
 * 请求拦截、相应拦截、错误统一处理
 */

每一个请求都会经过请求拦截和响应拦截

请求拦截器:常常用于Token的主动处理 ,给每一个请求添加请求头token 对请求异常抛出。

响应拦截器:常常用于简化axios默认加了一层的data Token被动处理 对请求异常抛出。

响应拦截器:简化axios默认加了一层的data Token被动处理 对请求异常抛出。

axios默认加了一层data

这个res包括这个请求响应回来的所有信息

所有的接口请求都会回到这里

获取到本次请求得到的数据

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐