Axios请求封装与跨域配置实战

axios请求拦截和响应拦截 请求拦截器 当发送请求时才会触发此功能(在请求之前进行一些配置) axios.interceptors.request.use( (config) => { const isToken = (config.data || {}).isToken === false; const refreshToken = getStore({ name: 'refreshToken' }); const userInfo = getUserInfo(); // getStore({ n 阅读详情

request.js

import axios from 'axios'

const request = axios.create({
	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';
  
 // 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
        }
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        return Promise.reject(error)
    }
)


export default request

vue.config.js

// 跨域配置
module.exports = {
    devServer: {                //记住,别写错了devServer//设置本地默认端口  选填
        port: 9876,
        proxy: {                 //设置代理,必须填
            '/api': {              //设置拦截器  拦截器格式   斜杠+拦截器名字,名字可以自己定
                target: 'http://localhost:9999',     //代理的目标地址
                changeOrigin: true,              //是否设置同源,输入是的
                pathRewrite: {                   //路径重写
                    '^/api': ''                     //选择忽略拦截器里面的内容
                }
            }
        }
    }
}
Vue + TypeScript + VueCli3+ 封装 axios 请求 并 解决跨域问题 一、版本说明 "vue": "^2.6.10", "axios": "^0.19.0", "@vue/cli-plugin-babel": "^4.0.0", "@vue/cli-plugin-router": "^4.0.0", "@vue/cli-plugin-typescript": "^4.0.0", "@vue/cli-plugin-vuex": "^4.0.0", "@vue/cl... 阅读详情

相关推荐

从jieba分词到BERT-wwm——中文自然语言处理(NLP)基础分享系列(12)

今天是本系列的最后一期,完整代码呈现Huggingface transformers平台上微调BERT-wwm-ext的过程方法。

weixin_49518391的博客 3762

uniapp遇到的一些问题

问题1、文件查找失败,缺少axios模块 解决:在uniapp项目中,运行命令行npm install axios,安装axios模块。 问题2、缺少scaa/sass插件 解决:在uniapp的插件市场找到scss/sass编译,导入插件。

空&白的博客 5141

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1910

vue使用axios请求相关配置文件包括跨域配置

对axios进行封装方便后续使用(request.js) import axios from 'axios' const request = axios.create({ timeout: 5000 }) // request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一加token,对请求参数统一加密 request.interceptors.request.use(config => { config.headers['Content-Type'] = '

qq_37533576的博客 2532

wsl2内核版本和模块版本不一致解决方法

** /lib/modules/…build: No such file or directory错误解决办法这篇文章历时1个月整,从4月5日一直到5月5日,这一问题才得以解决。

m0_60634555的博客 5103

2024最新版Anaconda Navigator安装使用指南

本文简要介绍如何下载安装Anaconda Navigator最新版,以及如何使用Python内核搭载来完成应用程序开发。

jackson_lingua的博客 1万+

uni-app开发小程序 使用@escook/request-miniprogram配置网络请求

1.因为小程序中无法使用axios,而wx.request功能过于简单,所以下载加强版网络请求包: npm init -y 在项目根目录初始化package.json文件 npm i @escook/request-miniprogram -S 下载网络请求包 2.打开main.js入口文件 import { $http } from '@escook/request-miniprogram' //从网络请求包中引入$http请求对象 uni.$http = $http //因为在其他的页面或组件中也

panliyou的博客 3万+

无刷电机控制避坑指南:六步换向 vs FOC的5个关键差异

本文深入对比了无刷电机控制中六步换向与FOC(磁场定向控制)的五大核心差异。从控制逻辑、性能表现、效率能耗、硬件成本到应用场景,详细解析了FOC如何通过矢量合成实现平滑的正弦波控制与更高效率,而六步换向则以低成本实现简单开关驱动。旨在帮助工程师根据项目需求,在性能、成本与复杂度间做出最佳选择。

weixin_29216957的博客 506

vue项目中request.js文件基础配置

【代码】vue项目中request.js文件基础配置。

weixin_57246557的博客 3368

阿里云人工智能工程师ACA认证免费课程学习笔记

阿里云人工智能工程师ACA认证免费课程学习笔记

engchina的专栏 2013

Python爬虫实战:爬取500+网易云热门歌单,我摸清了全网最火的音乐规律

曲风:流行是主流,“情绪价值”比单纯曲风更重要;歌名:感性、场景化的歌名,更受用户偏爱。这次实战让我明白,Python不是冰冷的代码,而是能帮我们看清生活中隐藏规律的工具。从每天刷的歌单里,用爬虫和数据分析挖出用户的真实偏好,不仅满足了好奇心,还实实在在练会了技能。新手朋友可以从这个项目入手,既练习了爬虫基础,又学会了数据分析的核心逻辑,还能结合自己的音乐兴趣理解数据的意义。现在打开PyCharm,跟着代码跑一遍,你也能从网易云的热门歌单里,挖出属于自己的“音乐规律”!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1888

Cursor Pro激活工具完整实战指南:免费重置机器ID + 一键注册(cursor-free-vip)

这是一个开源的 Cursor Pro 激活工具。它帮你解决"此设备试用账户过多""trial request limit"这类报错:重置机器 ID、自动注册新账号、绕过版本与用量限制,全程在本地完成,不上传任何数据。 [![cursor-free-vip 主菜单界面,显示账户信息与可用功能](https://raw.gitcode.com/GitHub_Trending/cu/cursor-fr

gitblog_00458的博客 661

12、多端神经形态晶体管:原理、应用与算法探索

本文综述了多端神经形态晶体管的原理、应用与算法探索。从神经元MOS晶体管的发展到基于电解质栅极晶体管(EGT)的新型器件设计,系统阐述了其在低电压、多功能逻辑运算和突触行为模拟方面的优势。重点介绍了其在化学生物传感器(如多巴胺和pH检测)中的高灵敏度应用,以及在树突整合、时空总和、动态逻辑和神经元算术等树突算法中的实现。文章还总结了该类器件在神经形态计算、智能传感等领域的广阔前景,并分析了当前面临的材料工艺、理论建模与系统集成挑战,展望了未来发展方向。

delta的博客 143

【Vue3】Vue3使用Axios请求二次封装(包含跨域配置)

axios在Vue3中的二次封装

null 4672

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

跨域配置代理 axios 请求封装

axios 封装 跨域代理

你要走就走的博客 1191

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SpringBoot&Vue&EmementUI前后端分离整合、统一封装axios、跨域配置

有关于SpringBoot&Vue&EmementUI前后端分离整合、统一封装axios、跨域配置

DaenCode的博客 968

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

史上最全的前端axios和后端跨域配置处理-许锅锅啊

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域} }} }Filter;

xu772710255的博客 3378

Vue中请求封装,跨域配置

封装好的请求,直接拿走用 import axios from 'axios' import qs from 'qs' axios.defaults.timeout = 5000; //响应时间 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencode...

Litter_sea的博客 880

nuxt Axios 详细封装以及使用

Axios的封装 封装要求 axios配置跨域 axios 请求拦截 可访问 vuex ,跳转路由 封装要求 api集中管理 api多文件管理,自动挂载(便于协同开发) 创建好项目后 nuxt里面已经内置了axios 无需下载 只需在 nuxt.config.js 开启即可 ps: 我创建的nuxt版本为 "nuxt": "^2.15.7" ---- nuxt.config.js ----- export default { modules: [ '@nuxtjs/axios',

weixin_41852038的博客 6609

vue axios请求封装

vue api请求统一管理,封装 不废话直接上demo(打卡:2020-12-23 ) 一、安装axios cnpm install axios 二、目录结构he代码 user.js import base from '../base'; // 导入接口域名列表 import request from '../http'; // 导入http中创建的axios实例 const user = { //普通json请求 test1(url, params) { return

H的博客 2088

django封装axios

新建一个api文件目录 // /api/htt.js import axios from 'axios' const service = axios.create({ baseURL: 'https://XXX.XXX.com', // 你的API基础URL timeout: 5000, // 请求超时时间 // 其他axios配置... withCredentials: true // 跨域请求时是否需要使用凭证 }) // 添加请求拦截器 service.inter

qq_40649373的博客 2157

vue axios 请求跨域

接上篇vue baseUrl多后端环境切换,换成真实的地址后发现接口总是不通,这对这个vue的配置还是理解不到位,这回做了波实验终于通透了 请求封装思路 1、将axios后端请求和前端请求分离开 这点是用baseURL做到,前端不需要baseUrl,baseURL可以直接配置成后端的公共地址 如果不用代理而直接请求的话,可以是这个样子: let host = 'localhost'; let port = '8080'; // 创建axios实例 const service = axios.create({

忙碌的菠萝 713

vue中通过请求头发送token到后端接收验证(解决拦截器中获取请求头信息为null,解决跨域)

我的项目的springboot+vue前后端分离项目,在做给项目中增加JWT验证时出现了许多的问题,因此写这篇博客来记录遇到的问题以及解决方法 遇到的问题 在给项目中增加jwt的token验证的时候(将token放在请求头中),后端获取不到我在前端请求头中封装好的token信息,为了解决这个问题,查阅了许多资料,在解决问题的过程中也遇到了许多新的问题,接下来就跟大家一一讲述 下面的解决方案会默认是配置了jwt拦截器验证的,jwt拦截器不知道怎么配置的跨域去看看我的jwt学习笔记博客里面有 如果讲解的有不明白

爱学习的大雄的博客 1万+

【Vue3+TS】Axios拦截器封装及跨域 [cors] 解决方案

跨域问题弄明白了还是很容易解决的,一般来说,只需要在一端解决跨域即可,并且一般建议使用后端跨域解决方案。后面会单独出一篇后端跨域的多种解决方案和各种方案的适用范围以及如何选择最佳方案。

视觉软件 4429

vue-cli中使用axios封装以及跨域问题

axios介绍 Axios是一个基于Promise(ES6中用于处理异步的)的HTTP库,用于浏览器和node.js中 , API https://www.kancloud.cn/yunye/axios 浏览器中创建XMLHttpRequests 从node.js中创建http请求 支持Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换JSON数据 客...

weixin_43841806的博客 622

vue基础--axios:初识 axios、发送ajax 请求、GET/POST请求、全局配置及请求响应拦截器、封装及跨域配置、创建服务器提供数据实践

目录 一、初识 axios 1.1 什么是 axios 1.2 使用 axios 发送ajax 请求 二、axios方式GET/POST请求 2.1 发送GET请求 2.2 发送POST 三、全局配置及请求响应拦截器 3.1 全局配置 3.2 拦截器 四、封装及跨域配置 4.1 跨域解决方案 4.2 示例 五、创建服务器提供数据实践 5.1 前期准备 一、初识 axios 1.1 什么是 axios 一个专门用于发送ajax请求的库 通过 npm...

小白小白从不日别的博客 1557
上一篇: SpringBoot+小程序
下一篇: 快速上手:Nginx安装与配置全攻略
「已注销」
博客等级 码龄7年 158粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值