AJAX的POST请求在chrome浏览器报net::ERR_CONNECTION_RESET问题

news2024/12/23 8:21:57

背景说明

公司对前端的所有的AJAX请求做了统一的封装,因此业务上需要发起请求调用后端服务时,使用的都是公司封装好的工具。

由于ERR_CONNECTION_RESET问题比较粗,也就是说可能会有很多原因会导致浏览器报这个错,因此在网上可以找到非常多的解决方案,比如从本地网络连接上找原因的、从服务提供商那里找原因的、从DNS上找原因的,也有分析后端的大佬给出详细解析的。但是与我这边的情况不太相符,因为我这个是请求根本就没有到达后端,甚至可能都没有到nginx以及后面的tomcat

问题现象

  1. 以下是在chrome浏览器中的表现。
    在这里插入图片描述
    在这里插入图片描述
  2. 以下是fiddler
    在这里插入图片描述
  3. wireshark
    在这里插入图片描述

问题描述

  1. 报错的这个业务主要是用户输入一堆标准参数后,页面上会据此计算出一些对应的指标数据,然后在保存的时候把用户输入的参数,以及对应计算出来指标数据一起发给后端,使用的是公司统计一封装好的AJAX工具。
  2. 第一次收到报错的反馈时,发现非常可能是因为计算出来的结果没有修约,因此小数位数较长,导致请求体过大。于是加上了修约,限制了小数位数后,再次输入同样的数据保存,没有报错,问题解决。
  3. 后来又反馈报错,在chrome浏览器中有60%以上的机率可以复现。但是仅限于正式环境,测试环境和本地环境完全没有问题。怀疑是nginx或是tomcat的问题,于是使用Fiddler和wireshark进行了抓包,但得到的结果都是服务器没有返回任何内容。然后运维帮忙看了下服务器上nginx和tomcat的配置,对应的参数也设置的比较大,这个请求Content-Length16212,也不应该被拦截掉的。而且返现这个不仅与长度相关还和对应的字符相关,比如删除最后几个字符后,再加上比原来长的多的多的数字,然后再发起请求,也不会报错。
  4. 最后请教了顶头上司,上头给的建议是换下Content-Type,于是把application/x-www-form-urlencoded;charset=UTF-8换成了application/json,再发起请求时,就不报错了,问题解决。

解决方案

根据上司的建议,把Content-Type由原来的application/x-www-form-urlencoded;charset=UTF-8换成了application/json就好了。在网上查了下,好像是因为前者是最原始的类型了,因此有点小问题,比如会把空格换成+了什么的,当然了具体实际的原因还是不清楚的,只知道这样可以解决我遇到的这个问题。

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

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

相关文章

clion软件ide的安装和环境配置@ubuntu

1.官网: Download CLion 2.安装Clion 直接在官网下载并安装即可,过程很简单 https://www.jetbrains.com/clion/ https://www.jetbrains.com/clion/download/#sectionlinux 3.激活码 4.配置Clion 安装gcc、g、make Ubuntu中用到的编译工具是gcc©…

Java面向对象——多态、Object类、instanceof关键字以及final关键字

多态的概念 1.多态是指同一个方法调用可以在不同的对象上有不同的表现,即同一种方法调用方式适用于不同的数据类型。 编译时和运行时:编译时期调用的是父类中的方法,但运行时期会根据实际的对象类型来调用适当的方法。这种行为称为动态绑定&…

自注意力机制简介Transformers: Attention is all you need

“Attention is All You Need” 是一篇由Google研究人员在2017年发表的研究论文,该论文介绍了Transformer模型,这是一种革命性的架构,它彻底改变了自然语言处理(NLP)领域,并成为我们现在所知道的LLMs的基础…

剪枝基础与实战(1): 概述

本文介绍基于L1正则化的剪枝原理,并以VGG网络进行实战说明。将从零详细介绍模型训练、稀疏化、剪枝、finetune的全过程,提供详细的源码及说明,有助于对剪枝的熟练掌握,后续也会对yolov8进行剪枝的介绍。 论文: Learning Efficient Convolutional Networks through Network …

学习笔记|基于Delay实现的LED闪烁|模块化编程|SOS求救灯光|STC32G单片机视频开发教程(冲哥)|第六集(下):实现LED闪烁

文章目录 2 函数的使用1.函数定义(需要带类型)2.函数声明(需要带类型)3.函数调用 3 新建文件,使用模块化编程新建xxx.c和xxx.h文件xxx.h格式:调用头文件验证代码调用:完整的文件结构如下&#x…

PyTorch学习笔记(十七)——完整的模型验证(测试,demo)套路

完整代码: import torch import torchvision from PIL import Image from torch import nnimage_path "../imgs/dog.png" image Image.open(image_path) print(image)# 因为png格式是四个通道,除了RGB三通道外,还有一个透明度通…

利用“病毒制造机”实现脚本病毒的制造

一、脚本病毒的概念: 脚本病毒通常是 JavaScript 或 VBScript 等语言编写的恶意代码,一般广告性质,会修改 IE 首页、修改注册表等信息,对用户计算机造成破坏。 通过网页进行的传播的病毒较为典型,脚本病毒还会有如下前…

【LeetCode-中等题】128. 最长连续序列

题目 题解一:HeshSet枚举 思路:先对数组进行set去重,核心就是,先找出临界值(假设以最小临界为例,那么这个临界值自己就是最小值,),以临界值不断做加1操作,看…

Kotlin 使用 View Binding

解决的问题: 《第一行代码——Android》第三版 郭霖 P277 视图绑定的问题 描述: kotlin-android-extensions 插件已经弃用 butter knife 已经弃用 解决办法 推荐使用 View Binding 来代替 findViewById 使用方法 1、配置 build.gradle 2、在act…

【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

Docker安装并配置镜像加速器,镜像、容器的基本操作

目录 1.安装docker服务,配置镜像加速器 (1)安装依赖的软件包 (2)设置yum源,我配置的阿里仓库 (3)选择一个版本安装 (4)启动docker服务,并设置…

WaSender 3.0 全功能版--Crack

WaSender – Is Windows software which runs on PC, a solution to automatically send messages to your bulk customers and Groups.​ Features:- Unlimited WhatsApp Messages to Contact / Numbers Send messages to all contacts including contacts not saved in your…

C#面向对象程序设计之变量的作用域,深入浅出 入门和进阶教程3

1、效果镇楼: 最近忒忙了!真的忙到不可开交的呢,繁杂业务的处理真的不是您,我个人想象的样子,完全比您个人想象的要复杂至少三倍以上的难度!也是客观事实。 菜鸟程序员面临的客观残酷现实!尤其您这个年龄阶段,实在是堪忧,尴尬的很啊,非常严峻的形势,也可以说特别严峻…

docker导出、导入镜像

导出镜像到本地,然后可以通过压缩包的方式传输。 导出:docker image save 镜像名:版本号 > /home/quxiao/javatest.tgz 导入:docker image load -i /home/quxiao/javatest.tgz 删除镜像就得先删除容器,当你每运行一次镜像&…

Hadabot:从网络浏览器操作 ROS2 远程控制器

一、说明 Hadabot Hadabot是一个学习ROS2和机器人技术的机器人套件。使用 Hadabot,您将能够以最小的挫败感和恐吓来构建和编程物理 ROS2 机器人。Hadabot套件目前正在开发中。它将仅针对ROS2功能,并强调基于Web的用户界面。 随着开发的进展&a…

classloader的讲解

我们先从Activity的启动流程开始切入: //位于android/app/ActivityThread.java中 private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {// ........省略代码//通过反射创建activityjava.lang.ClassLoader cl appContext.getCl…

LLM架构自注意力机制Transformers architecture Attention is all you need

使用Transformers架构构建大型语言模型显著提高了自然语言任务的性能,超过了之前的RNNs,并导致了再生能力的爆炸。 Transformers架构的力量在于其学习句子中所有单词的相关性和上下文的能力。不仅仅是您在这里看到的,与它的邻居每个词相邻&…

无重复字符的最长子串——力扣3

滑动窗口 int lengthOfLongestSubstring(string s){int n=s.size();unordered_set<char

在jupyter notebook中使用海龟绘图

首先&#xff0c;安装ipyturtle3 ref:ipyturtle3 PyPI pip install ipyturtle3然后&#xff0c;安装ipycanvas ipycanvas是一个需要安装在与JupyterLab实例相同环境的包。此外&#xff0c;您需要安装nodejs&#xff0c;并启用JupyterLab ipycanvas小部件。 所有这些都在ipy…