vue2使用axios封装请求数据,教会你封装,简单易懂,轻松学会axios封装请求数据 看一眼就会 手把手教会

这篇具有很好参考价值的文章主要介绍了vue2使用axios封装请求数据,教会你封装,简单易懂,轻松学会axios封装请求数据 看一眼就会 手把手教会。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import axios from "axios";

// 封装axios构造函数请求 
// 1.先是自定义一个方法名
// 2.然后获取头部token值
// 3.延长器设不设置都可以
const instance = axios.create({
  baseURL: 'http://localhost:8081/wx',
  headers: {
    // X-Litemall-Token这个名称就固定这个
    'X-Litemall-Token' : localStorage.getItem("X-Litemall-Token")
  }
})
  
// 请求拦截器
// 1.请求拦截器,在发请求之前,请求拦截器可以检测到发起请求之前需要做什么事情,把需要做的事情,放在请求拦截器之前
axios.interceptors.request.use(config => {
  // 1.这里我设置了,在请求之前,先开始进度条的动画
  // 2.返回请求数据
  if(localStorage.setItem['X-Litemall-Token'] !== null ) {
    console.headers.common['X-Litemall-Token'] = localStorage.getItem('X-Litemall-Token')
  }
  return config
 
})
// 响应拦截器
// 1.相应上面的请求拦截器的需求
// 2.把上面的请求拦截器的需求全部做到
axios.interceptors.response.use(res => {
  return res.data
}, error => {
  return Promise.reject(new Error('faile'))
})

// 对外暴露前面创建的构造方法
export default instance

2、完成上面的步骤还不够,还需要再创建一个文件夹api,然后在文件夹里面创建自定义的文件名(我创建的是cartApi.js)文件名根据自己的需求命名
下面就是根据自己的请求接口以及数据参数请求,下面的请求是一些常见的post、get请求以及传参啥的(仅供参考,可以参考下面代码,根据自己需求修改)

首先导入刚刚封装好的request.js文件  路径存储根据自己修改
import request from '@/utils/request' 

//地区列表
export function GeteGionList() {
  return request({
   method:'GEt',
   url:'/region/list'
  })
}

//添加收货地址
export function setShippingAddress(data) {
  return request({
   method:'POST',
   url:"/address/setShippingAddress",
   data: data
  })
}

//设置默认地址
export function Altedstate(id) {
   return request({
      method:'GET',
      url:'/address/default',
      params: {
        id:id
      }
      
   })
}

//获取订单列表 
export function GetOrder(pages,id) {
  return request({
    method:'get',
    params: {
        page:pages.page,
        limit:pages.limit,
        id:id,
    },
    url:`/order/list`,
  })
}

//添加订单 
export function PostAddorder(data) {
  return request({
    data:data,
    method:'POST',
    url:'/order/goods',
  })
}

//添加商品收藏
export function PostAddinsert(id) {
  return request({
    method:'GET',
    url:`/collect/insert?id=${id} `,
  })
}
// 获取收藏
export function Getcollect() {
  return request({
    method:'GET',
    url:`/collect/list`,
  })
}
// 删除收藏
export function Deletdcollect(arr) {
  return request({
    method:'post',
    data: {
      id:arr
    },
    url:`/collect/delete`,
  })
}

//获取商品足迹
export function Getfootprint() {
  return request({
    method:'get',
    url:`/footprint/select`,
  })
}

// 获取首页的左边工具栏
// http://localhost:8081/wx/catalog/list?page=1&limit=11
export function setToolList () {
  return request.get('/catalog/list', {
    params: {
      page: 1,
      limit: 20
    }
  })
}

3、完成全部封装之后,需要搞定的是在我们的vue组件请求数据
第一步:在自己的vue组件当中,导入我们刚刚写好的封装(仅供参考,可以参考下面代码,根据自己需求修改)

import {setToolList} from '@/api/shopping'

第二步:导入完成之后,在script里面编写请求代码,可以写在methods让按钮调用数据,也可以写在created()里面,在这里我写在methods里面,然后让created调用数据

methods: {
    // 工具栏的请求
    async getToolList()  {
      await setToolList().then(res => {
        this.toolList = res.data.data.list
        console.log(this.toolList)
      })
    }
  },
  created() {
    this.getToolList()
  }

第三:完整请求数据代码:

<template>
  <div>
    {{ toolList }}
  </div>
</template>

<script>
import {setToolList} from '@/api/shopping'

export default {
  data() {
    return {
      toolList: [],

    }
  },
  methods: {
    // 工具栏的请求
    async getToolList()  {
      await setToolList().then(res => {
        this.toolList = res.data.data.list
        console.log(this.toolList)
      })
    }
  },
  created() {
    this.getToolList()

  }
}
</script>

<style lang="scss" scope>


</style>

完成以上步骤就能请求到数据啦,如果请求不到数据,可以随时留言哦宝宝文章来源地址https://www.toymoban.com/news/detail-821748.html

到了这里,关于vue2使用axios封装请求数据,教会你封装,简单易懂,轻松学会axios封装请求数据 看一眼就会 手把手教会的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue框架】Vue2中axios发送请求—安装axios、配置全局域名、传递参数、axios原理之Promise(什么是Promise、使用原因、基本使用、相关API、async与await使用)

    官网: https://www.axios-http.cn/ 1.1.1 安装axios库 安装 axios 通信库: npm install axios -S 1.1.2 在全局中引入axios库 全局在main.js中引入axios: import axios from \\\'axios\\\' 1.1.3 挂在原型对象 Vue.prototype.$axios = axios; 将 axios 挂载到Vue原型对象中,实现数据共享,节约内存空间。 此时在任何页面都可

    2024年02月05日
    浏览(50)
  • 【vue2小知识】实现axios的二次封装

    🥳博       主: 初映CY的前说(前端领域) 🌞个人信条: 想要变成得到,中间还有做到! 🤘 本文核心 :在vue2中实现axios的二次封装 目录 一、平常axios的请求发送方式 二、axios的一次封装 三、axios的二次封装  四、总结 【前言】我们在使用axios发送请求的时候,如果是直

    2024年02月01日
    浏览(51)
  • Vue3+Axios网络请求封装

    本文将详细介绍一款基于Axios+Typescript封装的网络请求库,该库可以自动携带token、拦截请求和响应等操作,并能够处理请求重复、超时和错误状态码等异常情况。 Axios 是基于Node.js的HTTP客户端,也是一款广泛使用的网络请求库。它具有使用简单、可扩展性高、易用性好等特点

    2024年02月07日
    浏览(49)
  • Vue3的axios请求封装,请求拦截,相应拦截

    对于三者放在Service.js中封装,方便使用 axios.create  的作用是创建一个新的  axios  实例,该实例可以具有自定义配置。通过使用  axios.create ,您可以为任何 API 生成一个客户端,并在使用同一客户端的任何调用中重复使用相同的配置。这使得在应用程序中使用多个 API 时更加

    2024年02月03日
    浏览(47)
  • html+Vue+封装axios实现发送请求

    在html中使用Vue和Axios时,可以在HTML中引入Vue库和Axios库,然后使用Vue的语法和指令来创建Vue组件和模板。在Vue组件中,你可以使用Axios发送HTTP请求来获取数据,并将数据绑定到Vue模板中进行展示。 这段代码在HTML中使用了Vue,使用axios并设置了请求拦截器和响应拦截器。它实现

    2024年02月13日
    浏览(53)
  • vue2/3 axios 请求重试、取消请求、loading 串行并行等(分享)

    基础版,添加 loading 在请求响应拦截器里面添加 loading,这样就不需要给每一个请求添加 loading 了 这些代码都是 vue2 项目的,vue3 也通用,改一下 loading 和 message 就好了(主要是 element 的区别) 我这里最后没有合并代码,有的配置不适合写在一起,看自己项目的需要 响应状态

    2024年02月10日
    浏览(52)
  • vue 封装的axios接口,请求接口动态增加headers&responseType

    一、遇到一个需求,掉接口的时候,给headers中添加一个参数

    2024年02月16日
    浏览(45)
  • vue2,3,小程序,uniapp的API请求封装统一管理请求接口

    目录  微信小程序 request.js api.js页面  页面使用   uniapp request.js封装公共请求头 api.js里面存放api方法 在页面引入方法 vue2、3 request.js封装公共请求头 api.js文件 页面引入   request.js api.js页面  页面使用  引入 注意:微信小程序里面默认不能使用绝对路径,要使用../../../这样

    2024年02月03日
    浏览(69)
  • 使用ts封装一个Axios请求

    下面是一个简单的 TypeScript 版本的封装 Axios 请求的例子,基于 Axios 0.21.1 版本: 在这个示例中,我们首先定义了一个通用的响应结构 ApiResponse,用来包装 API 返回的数据,包括状态码、数据和消息等信息。然后,我们创建了一个 Axios 实例,定义了请求和响应拦截器,以及封装

    2024年02月16日
    浏览(46)
  • Vue2 axios 发请求报400错误 “Error: Request failed with status code 400“

    最近在做一个项目,后端写了一个登录接口,postman可以正常请求。但我axios发请求出现400错误 \\\"Error: Request failed with status code 400\\\" 请求: 错误:  我研究了两天,查了无数资料,最后和朋友一起找到解决方法 原因:后端没跟我说需要什么格式的数据,我以为是默认的json,后来

    2024年02月11日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包