关于axios的二次封装

这篇具有很好参考价值的文章主要介绍了关于axios的二次封装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@1 第一步 我们一般都会先导入axios
        import axios from ‘axios’
@2 第二步 创建axios的实例 可以同时创建多个实例 每个实例配置不同
        const http = axios.create( { 
                // 这里面可以做一些基础的配置 比如基础路径 ,axios 请求超时的时间
                baseURL:'https://www.baidu.com',
                timeout:60000
         })
@3 只针对post请求,请求主体做格式化的处理,安装后台的要求,如果不设置transfromRequest
        会把Data对象转化为JSON字符串传递给服务器, axios内部会识别常用的数据格式,自动设
        置请求头中的Content-Type
        http.defaults.transfromRequest = data =>{
                if(typeof data === 'object') qs.stringfy(data)   // qs.stringfy是转化为name='zs'$age=12
                return data
        }
        http.default.validateStatus = status = > {
                return status >= 200 && status < 400  // 设置状态码在200到400之间都是成功的
        }
@4 设置请求拦截器  并且携带token
        http.interceptors.request.use(config=>{
                if(localstorags.getItem('token')){
                        config.headers.authorzation = localstorage.getItem('token')
                 }
                return config
        })
@5 设置响应拦截器
        http.intercepotrs.response.use(responst=>{
                return responst.data
        }, reson=>{

                 // 请求失败的处理
                let status = reson?.reponse.status
                     code = reson?.code
                if(status){ 
                        // 服务器返回的有结果 没有经过validateStatus状态码的校验
                        switch(+status){
                                case 404:
                                        alert('请求地址不存在')
                                        break;
                                case 500:
                                        alert('服务器发生未知错误')
                                        break;
                                。。。
                        }
                 }else if(code==='ECONNABORTED'){
                        // 请求超时
                        alert(‘当前请求超时’)
                }else if(axios.isCancel(reson)){
                        // 请求中断
                        alert('请求中断')
                }else {
                        alert(‘网络中断,请检查网络')
                }
                return Promise.reject(reson)
        })
@ 6 记得导出
        export default http文章来源地址https://www.toymoban.com/news/detail-778262.html

到了这里,关于关于axios的二次封装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Vue项目中axios的二次封装

    Vue 项目使用过程中一般会对 axios 进行二次封装, 以期在合适的时机处理一些全局的需求, 比如常见的 请求拦截器 和 响应拦截器. 接下来简单聊聊具体的操作步骤. 执行以下指令: 在 src 文件夹下创建 api 文件夹, 并创建 index.js、axios.js 和 users.js 文件. index.js 文件的作用的将当前

    2024年01月19日
    浏览(85)
  • 【vue2小知识】实现axios的二次封装

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

    2024年02月01日
    浏览(48)
  • Vue3和TypeScript下基于Axios的二次封装教程

    学习如何在Vue3项目中使用TypeScript和Axios进行二次封装,实现更灵活的网络请求处理。详细教程包括拦截器设置和类型扩展。

    2024年02月05日
    浏览(119)
  • vue3富文本编辑器的二次封装开发-Tinymce

    欢迎点击领取 -《前端开发面试题进阶秘籍》:前端登顶之巅-最全面的前端知识点梳理总结 专享链接 简介 1、安装:pnpm add tinymce @tinymce/tinymce-vue === Vue3 + tinymce + @tinymce/tinymce-vue 2、功能实现图片上传、基金卡片插入、收益卡片插入、源代码复用、最大长度限制、自定义表情包

    2024年02月07日
    浏览(62)
  • 关于前端开发中常用的 axios 封装

    前端、axios、网络请求 关于前端开发中常用的 axios 封装 jcLee95 的个人博客:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 邮箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/131099244 相关文章:[《flutter 中的 dio 模块用法解析与二次封装》](https://blog.csdn.net

    2024年02月08日
    浏览(39)
  • jq插件:jqgrid和validform的二次封装

    做久了vue和react框架项目,偶尔也需要做做原生的项目。不可否认vue的双向绑定机制确实很香,但是也是建立在原生js基础上。所以,只有做更多的原生js项目,才能更加了解vue框架的底层原理。在日常开发中,也会不可避免的会遇到原生开发的需求。这里主要介绍下jqgrid和

    2024年02月10日
    浏览(46)
  • Vue3中搜索表单的二次封装

    最近使用Vue3+ElementPlus开发项目,从整体上构思组件的封装。能写成组件的内容都进行封装,方便多个地方使用。 受AntDesign的启发,在项目中有搜索表单+table+分页的地方可以封装为一个组件,只需要对组件传入table的列,组成一个配置项,通过配置可以显示搜索表单、table项的

    2024年02月11日
    浏览(45)
  • 【axios】-- axios 二次封装

    如baseUrl,超出时间等 出于权限和安全考虑的密钥设置到请求头 主要针对于错误的情况做全局统一处理 把对接口的请求封装为一个方法 例子

    2024年02月09日
    浏览(42)
  • element ui 表格组件与分页组件的二次封装

    目录 效果图  组件封装  parseTime函数 debounce 函数 render通用渲染模版 页面使用 【扩展】vue 函数式组件 函数式组件特点: 函数式组件的优点: 【扩展】vue中的render函数 一、初步认识render函数 二、为什么使用render函数 三、render函数的解析 【扩展】添加操作栏显示权限 结构

    2024年02月08日
    浏览(46)
  • uniapp项目实战系列(4):服务的异步请求,请求服务的二次封装

    ✨ 原创不易,还希望各位大佬支持一下! 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 本文主要是轮播图数据的请求与渲染和网络请求的封装 在本文章中学会在服务的异步请求,请求服务的二次封装

    2024年02月10日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包