问题—前端调用接口url多加一个/,本地可以调通,测试环境报错302,分开调两个接口

问题背景

接口url前面多加一个/ ,npm run serve 起项目,本地调用正常

在这里插入图片描述
npm run build 打包到测试环境,接口出现问题,分开调用接口,且报302错误

在这里插入图片描述

问题原因:

本地开发环境和测试环境的URL处理方式不同
本地使用vue-cli工具,工具内部使用webpack-dev-server等实现热更新和启动本地服务,webpack-dev-server对URL的处理较为宽松,多出来的”/“会被忽略。

而在测试环境中,这个”/“不会被忽略,因为你的请求将由服务器处理,如Nginx等,服务器接收到你的请求后,不会像webpack-dev-server那样忽略这个”/“,它会严格按照URL进行处理,导致了你后端接收到两个接口请求。

所以,我们在编写代码,特别是涉及到URL处理的时候,需要注意这个问题,尽量避免多出”/“。忽略。

你可以尝试以下几种解决办法

  1. 配置服务器:如果可能,你可以配置你的测试环境服务器,让它自动去除 URL 中多余的 /。具体的配置方法取决于你的服务器软件。

  2. 使用 URL 模块:你可以使用 Node.js 的 url 模块或者其他类似的库来构造你的请求 URL。这些库通常会自动处理 URL 中的多余 /。

webpack-dev-server 底层如何实现兼容

Webpack Dev Server 底层利用 express 提供了 HTTP server 的功能,而 express 本身对 URL 的斜杠添加和减少是默认做了处理的。也就是说不论你访问 /api/foo 或者 /api/foo/,express 都会将其视为一个路由来处理。

注意:webpack-dev-server 无法兼容请求URL空格

webpack-dev-server 本身并不会自动处理请求 URL 前后的空格。HTTP 规范中明确指出,URL 中是不存在空格的,因此在应用中我们也需要遵守这个规则。如果请求的 URL 地址前后出现空格,可能会导致服务端无法正确解析,产生错误。因此,建议在编写 URL 时必须遵守 HTTP 规范,保证 URL 前后没有空格。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划-两个数组的dp问题3

文章目录 1. 两个字符串的最小ASCII删除和(712)2. 最长重复子数组(718) 1. 两个字符串的最小ASCII删除和(712) 题目描述: 状态表示: 根据经验以及题目要求,建立二维数…

旧手机-基于Termux配置服务器(不用拿去换钢盆了)

Hi,大家好,我是抢老婆酸奶的小肥仔。 大家用手机这么多年了,手上或多或少都有一两个被替换下来的旧手机,也不用拿去换啥钢盆了,使用Termux可以将旧手机改造成一个服务器。 不多说,直接开干。 1、安装app…

Swagger --学习笔记

什么是Swagger? Swagger是API设计工具集,用于帮助开发者设计、构建和文档化RESTful Web服务。它通过标准化的格式来描述API接口,使得创建、维护和使用API变得更加清晰和简便,同时提供工具支持API的交互式文档、编辑器以及代码的自…

深入理解JVM:介绍JVM的工作原理,包括类加载机制,内存模型,垃圾回收机制等

类加载机制: JVM的类加载机制主要包括加载、连接(验证、准备和解析)、初始化、使用和卸载五个阶段。第一个阶段是加载需求的.class文件到内存中。第二个阶段是完成对字节码的验证,为类变量分配内存并初始化为对应类型默认值。第三…

别再找了!吐血整理ChatGPT 3.5/4.0新手使用手册

引领科技潮流的ChatGPT早已名声在外,如今获取ChatGPT已变得触手可及,但很多人还多次提问如何使用chatgpt,为了避免陷入误区,本文旨在为广大ChatGPT爱好者提供一份实用的指南。 因此,帮助大家更好地掌握其使用技巧&…

python的字典学习笔记

来自WeTab AI PRO 1.两个元素数量相同的元组,将其中一个元组的每个元素作为键,将另一个元组的每个元素作为值,生成字典 要根据两个元素数量相同的元组生成字典,其中一个元组的每个元素作为键,另一个元组的每个元素作…

leetcode.环形链表问题

目录 题目1 示例 解题思路 代码实现 补充 题目2 示例 解题思路 代码实现 题目1 该题链接:https://leetcode.cn/problems/linked-list-cycle/description/ 示例 解题思路 要创建两个指针一个是快指针(fast),另一个慢指针(slow)。快指针走两步慢指…

Linux修改终端命令颜色

1.在家目录中修改.bashrc文件 cd ~ vim .bashrc2.找到PS1相关段落,把其他的注释掉,填上该行代码,修改为自己设置的颜色 (具体颜色查看参考文章) 提供两种颜色,其他的自学调色盘吧(下文有)~ (祝你愉快) ①浅蓝色 深蓝 PS1\[\03…

华医网在线教育系统,经过疫情,知识付费行业的机遇!

因为知识付费的行业入门门槛很低,所以产品的质量也参差不齐,因为疫情的影响,知识付费行业迎来了一波机遇。 因为知识付费门槛低,所以持续创造优质内容才是王道;现在成熟的知识付费平台和产品受到了大部分用户的喜欢&am…

WebLogic Serer的服务策略

服务策略 Oracle提供终身服务策略。以下按照服务级别,分别说明了各级别的服务期间以及服务内容。 Premier Support 服务期间 制品出荷~开始后的第5年 服务内容 提供程序的更新版提供新做成的补丁提供安全情报提供Critical Patch Update税务法律合规提供升级脚本大多数新产…

CSRF 攻击实验:Token 不存在绕过验证

前言 CSRF(Cross-Site Request Forgery),也称为XSRF,是一种安全漏洞,攻击者通过欺骗用户在受信任网站上执行非自愿的操作,以实现未经授权的请求。 CSRF攻击利用了网站对用户提交的请求缺乏充分验证和防范…

基于Java+SpringBoot+vue+elementui 实现猜灯谜答题抽奖系统

目录 系统简介效果图1、手机答题端2、后台系统管理 源码结构源码下载地址技术交流 博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库&…

2024年成都市首台(套)重大技术装备示范申报奖励补助、要求

一、支持市场推广应用 (一)出台市级认定管理办法。出台市级首台(套)产品认定管理办法,开展市级首台(套)产品目录征集、产品认定,并会同物价部门、研制单位、应用单位共同就首台&…

MES系统在电线电缆行业生产上的应用

MES系统在线缆行业的应用可以带来多重价值,包括提高生产效率、降低生产成本、提高产品质量、优化库存管理、改善生产环境和提高企业竞争力等方面。因此,在电线电缆行业中广泛应用MES系统可以提高企业的经济效益和社会效益,推动企业发展和行业…

封装的艺术:探索面向对象编程的核心守护神

1. 概述 封装是面向对象编程(OOP)的三大核心特性之一,它是指将对象的属性和方法结合成一个独立的单元,并将这个单元的内部实现细节隐藏起来,只对外提供公共的访问方式。封装的目标是提高代码的安全性、可维护性和复用…

第1章 初始Spring Boot【仿牛客网社区论坛项目】

第1章 初始Spring Boot【仿牛客网社区论坛项目】 前言推荐项目总结第1章初识Spring Boot,开发社区首页1.课程介绍2.搭建开发环境3.Spring入门体验IOC容器体验Bean的生命周期体验配置类体验依赖注入体验三层架构 4.SpringMVC入门配置体验响应数据体验响应Get请求体验…

【项目汇报中的 STAR 法则】项目管理必会的思维分析工具13

STAR法则是《高效培训》一书中所提出的概念,是结构化的一个重要理论,即Situation(情景)、Task(任务)、Action(行动)和Result(结果)。 1.Situation&#xff0…

绝地求生:一穿四教学,绿色玩家也能轻松一穿四

PUBG一穿四速成班开课啦!我这里只做PUBG干货分享,不搬运!不搬运!!不搬运!!! 有很多朋友是否在排位里kd不高,开局不是扎堆roll点就是一直搜东西然后一波就没?这…

更换冷冻油的知识介绍

一、 冷冻油更换的条件 1、 空调机组长时间工作,压缩机已达到保养时限(机组初次运行2000小时、之后运行累计三年或运行时间超过10000~12000小时); 2、 因电机烧毁而更换压缩机;更换压机后连续运行100小时…

机器视觉中的打光技巧、选择光源的流程

目录 基本原则选择照明的考虑因素明场照明和暗场照明全明场照明(漫射照明)技术 特定光源1. 环形光源2. 条形光源3. 同轴光源3.1 何时使用同轴照明?3.2 何时不使用同轴照明? 4. 背光源5. 远心照明6. 点光源7. 穹顶光源8. 线光源9. …