vue-axios封装

Vue使用axios二次封装、解决跨域问题 在项目中,axios 进行二次封装可以更加方便的使用 Ajax 请求,提高代码复用性和维护性。同时可以封装统一的请求与响应拦截处理。在实际开发过程中,浏览器通常需要和服务器端进行数据交互。而 Vue.js 并未提供与服务器端通信的接口。从 Vue.js 2.0 版本之后,官方推荐使用axios 来实现 Ajax 请求。axios 是一个基于 promise 的 HTTP 客户端。 阅读详情

首先设置跨域请求:传送门
然后安装axios

npm install axios -S 

出现这样就成功了。
在这里插入图片描述
在vue下边创建一个包,我这里是utils包 创建一个request.js
传送门:element-ui官网
安装命令

npm i element-ui -S
import axios from 'axios'
import ElementUI from 'element-ui' /*这个是需要安装element ui 才可以的 */

const request = axios.create({
    /*加上服务器的请求的前缀    举个例子baseURL: 'http://localhost:8081'  后端请求的地址 */
    baseURL: 'api',  // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!!
    timeout: 5000
})

// request 拦截器
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';

    let user = localStorage.getItem("user")? JSON.parse(localStorage.getItem("user")) : {};
    if (user){
        config.headers['token'] = user.token;  // 设置请求头
    }

    return config
}, error => {
    return Promise.reject(error)
});

// response 拦截器
// 可以在接口响应后统一处理结果
request.interceptors.response.use(
    response => {
        let res = response.data;
        // 如果是返回的文件
        if (response.config.responseType === 'blob') {
            return res
        }
        // 兼容服务端返回的字符串数据
        if (typeof res === 'string') {
            res = res ? JSON.parse(res) : res
        }

        //当权限验证不通过时给出提示
        if (res.code === '401'){
            ElementUI.Message({
                message: res.message,
                type: 'error'
            });
        }
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        return Promise.reject(error)
    }
)

export default request

关键一步操作 在main.js中引入request.js 这个配置

//引入我们写的request.js
import request from "./utils/request";

//引入element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

//axios
Vue.prototype.request = request;

//使用element-ui
Vue.use(ElementUI);

例子:
页面

<template>
  <div>
    <i>{{msg}}</i>
    <el-button @click="test">
      按钮
    </el-button>
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: ""
    }
  },
  methods: {
    test() {
    //请求
      this.request.get("/test/").then(res => {
        this.msg = res;
      })
    }
  }
}
</script>

结果:
在这里插入图片描述

vue项目模板封装系列之——vue-cli@3封装Axios 前言 上一期分享了如何在vue-cli3的框架中,封装router并且通过element-ui框架自动生成网站导航栏。 本期将分享如何在vue项目中添加Axios,并封装使用。 GitHub地址:web-template 1. 添加Axios 在vue-cli3的框架中添加Axios,到项目文件夹内打开cmd命令行工具,输入下面的指令,就可以添加了。 npm add axios 添加成功后就可以... 阅读详情

相关推荐

VMware桥接模式实战:用手机热点给Linux虚拟机共享网络(附WiFi适配技巧)

本文详细介绍了在移动办公场景下,如何为VMware中的Linux虚拟机配置桥接模式,以通过手机热点共享网络。文章深入解析了桥接模式在无线环境下的工作原理,提供了从主机端准备、VMware设置到Linux虚拟机内部配置的完整实战步骤,并针对手机热点的特殊性,分享了MTU优化、DNS配置及常见网络问题的诊断与解决方案,帮助用户实现稳定高效的移动虚拟化办公。

2y3u4i5o6p的博客 1197

vue封装axios

vue封装axios

weixin_47586598的博客 8255

STM32与威纶通触摸屏RS485通信实战:Modbus RTU协议与避坑指南

在工业自动化与嵌入式系统开发中,串行通信是实现设备间数据交换的基础技术。RS485总线凭借其差分信号传输、抗干扰能力强、支持多点通信及长距离传输等特性,成为工业现场广泛应用的物理层标准。其核心原理是利用一对双绞线进行平衡传输,有效抑制共模噪声。在协议层,Modbus RTU作为开放、简洁的主从式应用层协议,定义了统一的数据模型(如线圈、寄存器)和功能码,极大简化了不同厂商设备间的互操作性。结合STM32微控制器的UART外设与威纶通(Weinview)人机界面(HMI),可以构建稳定可靠的监控与控制系统。本

weixin_33925615的博客 333

vue的axios封装

vue的axios封装

m0_55333789的博客 2130

记一次使用STM32F042K6芯片内部HSI48M时钟导致CAN总线报错问题

深入去解决某个问题时,也会加深你对其它部分的了解和思考,比如这里让我又重新了解和CAN的采样点和CAN报错机制。

ApexYuan 860

高动态范围结构光三维测量技术:从多曝光融合到深度学习的演进与应用

本文深入探讨了高动态范围结构光三维测量技术的演进与应用,从传统的多曝光融合技术到深度学习驱动的创新方案。通过工业案例展示了该技术在提升测量精度和效率方面的显著优势,特别是在处理高反光、复杂表面时的突破性表现。文章还提供了针对不同工业场景的技术选型指南,帮助工程师优化三维测量解决方案。

weixin_29063979的博客 293

Vue封装axios

axios 的使用

ZhanHanson的博客 1654

蓝牙抓包实战:用nrf52840和Wireshark解析广播包与SCAN_RSP的完整流程

本文提供了一份完整的蓝牙抓包实战指南,详细介绍了如何使用nRF52840 Dongle和Wireshark捕获并解析蓝牙广播包与SCAN_RSP。内容涵盖环境搭建、广播事件分析、数据包结构拆解以及常见连接问题的调试技巧,旨在帮助开发者和物联网工程师深入理解BLE底层通信,提升硬件调试能力。

weixin_29279153的博客 496

Vue Axios 格式封装

http 在man.js 引用,Vue.prototype.$http = http;// axios请求。

然后他就拿棍子来打我 3924

用 MATLAB 实现鼻子和嘴的检测

为了方便起见,这里我们使用了 CascadeObjectDetector 中自带的 haarcascade_frontalface_alt2.xml 文件,该文件包含了多个包含鼻子和嘴的样本图像。其中 bbox 变量表示检测到的所有鼻子和嘴的边界框信息。在图像处理中,鼻子和嘴的检测是十分重要的一项任务。本文将介绍如何使用 MATLAB 实现鼻子和嘴的检测,并提供相应的源代码。然后,我们可以调用之前创建的 detector 对象来进行鼻子和嘴的检测。综上所述,我们可以使用以上代码实现鼻子和嘴的检测。

qq_39605374的博客 256

Unity零基础到进阶 ☀️| Unity中的 GC及优化 超级全面解析 ☆(ゝω・)v 建议收藏!

介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。 Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。 本文我们主要学习垃圾回收的机制,垃圾回收如何被触发以及如何提GC收效率来提高游戏的性能。 Unity内存管理机制简介 要想了解垃圾回收如何工作以及何时被

努力前行,总会成为自己心中的那道光 6万+

vue中axios的介绍及封装(看这一篇就够了!)

vue中axios的介绍及封装(看这一篇就够了!)

唯见青山不见君 6542

Allegro如何改变线宽操作指导

用Allegro做pcb设计的时候,改变走线线宽是非常常用的功能,如下图。线宽目前是12mil,需要把线宽改成15mil。如何改变线宽操作指导。

weixin_54787054的博客 4254

vue中axios的二次封装——vue 封装axios详细步骤

通常我们的项目会越做越大,页面也会越来越多,如果页面非常的少,直接用axios也没有什么大的影响,那页面组件多了起来,上百个接口呢,这个时候后端改了接口,多加了一个参数什么的呢?那就只有找到那个页面,进去修改,整个过程很繁琐,不易于项目的维护和迭代。这个时候如果我们统一的区管理接口,需要修改某一个接口的时候直接在api里修改对应的请求,是不是很方便呢?因为我们用的最多的还是get post请求,我们就可以针对封装。

Vivien_CC的博客 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Vue的axios封装

Vue的axios封装 在vue项目中,经常需要封装axios,文档又看不懂。所以总结一下方法。 安装 npm install axios; // 安装axios 引入 在项目的src目录中,新建一个request文件夹,然后在里面新建一个http.js和一个api.js文件。http.js文件用来封装我们的axios,api.js用来统一管理我们的接口。 // 在http.js中引入axios import axios from 'axios'; // 引入axios import QS f

weixin_44278376的博客 3万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Vue中axios的封装

axios的封装 安装 npm install axios; //命令行安装axios 引入 首先,新建一个js文件用于引入axios。比如说,新建一个http.js文件,在文件中引入步骤如下所示: import axios from ‘axios’; //引入axios import QS from ‘qs’;//引入qs模块,为post型数据提供序列化(非常重要) import { Toast } from ‘vant’; 设置请求超时 axios.defaults.timeout = 10000:

qq_43542239的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Vue——axios的二次封装

基于Vue——实现对 axios 的二次封装(企业级开发项目必备技能)

HuoZhiyan 的博客 1万+

vue封装Axios的get、post请求

Axios 在vue项目中用的较多,每次都要写一遍很是不方便,尤其其中的config配置项是公用的,完全可以封装一下,这样下次再用就可以直接CV了!毕竟CV大法香啊! 封装 Axios 基础配置 创建一个request.is 文件,内容如下,我把解释性文字放在注释里了。 import axios from 'axios' export function request(config) { // 1.创建axios的实例 const instance = axios.create({

weixin_41897122的博客 1万+

vue中axios的封装

一、axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。所以我们的尤大大也是果断放弃了对其官方库vue-resource的维护,直接推荐我们使用axios库。如果还对axios不了解的,可以移步axios文档。 安装 npm install axios; // 安装axios复制代码 引入 一般我会在项目

lwc_1234的博客 6651

vue之axios的封装

axios异步请求

soos的博客 5434

Vue网络请求 axios封装

1.安装axios npm install --save axios vue-axios 2.在main.js中导入axios import Vue from 'vue' import App from './App' import router from '../src/router/router' import axios from 'axios' // Vue.use(axios); //...

前端小白的博客 2406

vue2和vue3的Axios的二次封装

二次封装带来的优势可能的进一步优化方向推荐的最佳实践和注意事项。

qm667的博客 1530

【axios】Vue项目中封装和使用axios

【axios】Vue项目中封装和使用axios

weixin_43790653的博客 5382

vue3项目中封装axios

目前前端最流行的网络请求库还是axios,所以对axios的封装很有必要,此次基于vue3+ts的环境下。 axios的基本使用 import axios from 'axios' // console.log('adh') axios.get('http://XXX.xxx.xxx.xxx:8000/home').then((res) => { console.log(res.data) }) axios.get()会返回一个Promise对象,所以可以用.then获取返回的数据。 axios

weixin_44416058的博客 2万+

Vue:vue3中封装Axios请求

vue3中封装Axios请求

weixin_52797441的博客 1万+
上一篇: springboot跨域设置
下一篇: 关于Sql 中 on和where的粗略理解
鳳九~
博客等级 码龄8年 1384粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值