Vue跨域配置异常采坑:Request failed with status code 401

本地用Express作为服务端,前端Vue项目配置跨域代理,调用服务端api接口始终报错“Request failed with status code 401”。原来发现是端口3000被占用了,被VSCode的一个插件占用了,修改为其他端口解决。

具体解决过程记录一下。
后端、前端配置
Express服务端接口为3000,地址:http://localhost:3000
//加载组件
let express = require('express');
//创建一个服务端服务实例server
let server = new express();
//***** 配置端口,启用监听端口 *****/
server.listen(3000, err => {
if (!err)
console.log('服务器启动成功,地址:http://localhost:3000')
})
Vue前端在vue.config.js中配置跨域代理:
module.exports = defineConfig({
transpileDependencies: true, //默认false,是否需要转译的第三方依赖
publicPath: '/bookadmin/', //基本url,多用于指定子路径
devServer: {
proxy: {
'/server': { //用 “/api” 代理 “http://localhost:3000”
target: 'http://localhost:3000', //代理的目标
changeOrigin: true,
ws: true,
pathRewrite: { '^/server': '' }
}
}
},
})
Request failed with status code 401
接口访问接口报错:Request failed with status code 401', name: 'AxiosError', code: 'ERR_BAD_REQUEST'。
开始以为代理配置、接口封装有问题,各种姿势尝试依然没有解决。正当心力交瘁、头痛欲裂、走投无路之时,这个端口号是不是有问题!换一个试试呢?于是改了一下端口号,改成“8082”正常改成“9000”正常

这是为什么呢?--端口占用
命令行中执行“netstat -nao | findstr 3000”查一下端口占用,果然发现确实有多个程序占用了本地3000端口号

- 其中PID=31336的进程node,这个是启动express的。
- PID=2448的进程,通过任务管理器的“详细信息”找到为
VSCode,就是他。

但VSCode本身应该不会使用端口啊,难道是插件?
在VSCode的设置中搜索“port”关键字看看,果然有一个插件“Live Preview”的端口号就是3000。Live Preview是一个预览本地网页的一个插件,终于找到根源了。

验证一下
修改Live Preview”的端口号,或者关闭该插件后,重新启用3000端口号,跨域代理访问正常!
️版权申明:版权所有@安木夕,本文内容仅供学习,欢迎指正、交流,转载请注明出处!原文编辑地址-语雀
Vue跨域配置异常采坑:Request failed with status code 401的更多相关文章
- axios请求报Uncaught (in promise) Error: Request failed with status code 404
使用axios处理请求时,出现的问题解决 当url是远程接口链接时,会报404的错误: Uncaught (in promise) Error: Request failed with status ...
- Request failed with status code 500以及自引用循环Self referencing loop detected for property ‘xx‘ with type
错误Error: Request failed with status code 500 ,调试前端没问题,后端也没问题,还报错"连接超时" 在Network中找到错误Self r ...
- Django+Vue跨域配置与经验
一.原理 同源?同源策略? 同源的定义是:两个页面的协议.端口和域名都相同 同源的例子: 不同源的例子: 同源策略SOP(Same origin policy)是一种浏览器约定,它是浏览器最核心也最基 ...
- vue 跨域配置代理 get/post 请求
1.第一步要有 axios 插件 : npm i axios 首先要在自己的项目手动添加一个文件 vue.config.js 个人理解的为 这是axios 封装的跨域文件. 2.vue.config. ...
- Uncaught (in promise) Error: Request failed with status code 500解决方案
今天又学到一种修改bug的方法 : let newpwd = crypto.createHash('md5').update(req.body.upwd).digest('hex'); 在点击按钮加 ...
- nginx-springboot-vue前后端分离跨域配置
nginx-springboot-vue前后端分离跨域配置 引言 接着上篇--简单的springboot-vue前后端分离登录Session拦截的demo,其中跨域是通过springboot后端全局设 ...
- 跨域原因及SpringBoot、Nginx跨域配置
目录 概述 简单请求 跨域解决方案 概述 SpringBoot跨域配置 Nginx跨域配置 概述 MDN文档 Cross-Origin Resource Sharing (CORS) 跨域的英文是Cr ...
- vue跨域请求数据
vue跨域请求数据 本篇文章基于vue-cli编写 问题描述 当出现如下关键词,证明我们正在执行跨域问题 此时证明我们违背了同源策略(即协议名.ip.端口号一致) 环境准备 首先,要想实现跨域请求数据 ...
- vue跨域问题解决(生产环境)
vue跨域问题解决(使用webpack打包的) 配置代理:(config下index.js文件) module.exports = { dev: { env: require('./dev.env') ...
- vue跨域处理
本人对于vue跨域处理流程不是很清楚,特此理顺一遍. 1.在config中进行配置,该文件不是都存在,需要自己建: proxyTable,这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化 ...
随机推荐
- JS逆向实战12——某店 captchaToken 参数 加密
今天爬取的是网站需要模拟登陆 目标网站 aHR0cHM6Ly9wYXNzcG9ydC55aGQuY29tL3Bhc3Nwb3J0L2xvZ2luX2lucHV0LmRv 浏览器抓包分析 随便输入一堆假 ...
- pysimplegui之元素常用属性
常用元素参数 您将在几乎所有元素创建调用中看到的一些参数包括: key - 与 window[key].事件和返回值字典一起使用 工具提示tooltip - 将鼠标悬停在元素上,您将获得包含此文本的弹 ...
- Network Science:巴拉巴西网络科学阅读笔记2 第一章图论
第一章:图论 完全图又被称为团. Metcalfe's Law: Metcalfe's law states that the value of a telecommunications networ ...
- python运维工程师-cmdb项目-day2
1.捕获异常信息 import tracebackdef disk(): int('saaa')def run(): try: disk() except Exception: ret=traceba ...
- Python_13 接口测试openpyxl和表操作
一.openpyxl 安装 pip install openpyxl 在Terminal中输入 excel操作步骤 找到目标excel 打开 读取数据.编辑excel单元格 保存 关闭 open ...
- 简单实用Ecplise常用快捷键
简单实用Eclipse常用快捷键 用了Eclipse两年了,简单总结下目前我经常使用的快捷键!!! 1. Ctrl+Shift+R 功能:打开资源,这组快捷键可以让你打开你的工程中的任何一个文件 操作 ...
- Reshaper 代码清理工具
reshaper是个好工具,能帮助我们提升开发效率,比如本文要介绍的全局代码清理功能. 如果你的VS安装了reshaper,可以通过Ctrl+E+C快捷键打开代码清理窗口. 代码清理,可以格式化多种文 ...
- 2021牛客OI赛前集训营-提高组(第二场)第三题 树数树题解
题目描述 牛牛有一棵 \(n\) 个点的有根树,根为 \(1\). 我们称一个长度为 \(m\) 的序列 \(a\) 是好的,当且仅当: \(\forall i \in (1,m]\),\(a_i\) ...
- 【ATL】注册插件成功后自动设置浏览器允许弹出窗口注册表
STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine) { HRESULT hr = E_FAIL; static const wchar_t szU ...
- MySQL对时间戳的格式化
时间转时间戳 select unix_timestamp('2022-02-22 22:22:22'); 时间戳转时间 select from_unixtime(1645539742); 格式化 SE ...