HTTP请求报错:400 Bad Request解决方法!!(终极整理)
2025-10-17 本站作者 【 字体:大 中 小 】
问题场景:当项目的前端页面使用ajax请求访问后端时,出现该错误。
我这里是测试接口时,发生了错误。
原因一:请求参数个数不对。
后端接口上明确规定了请求参数的个数。比如:接口(方法)中的值中使用了requestparam注解,requestparam注解中有个require属性,默认为true,意思则是,必须要传该参数的值(该参数不可为空)。
解决办法:
1.如果该参数是可传可不传的,修改require属性为false。
2.检查前端js文件中对应的ajax请求中的请求数据是否为空,或者是否有该参数。
原因二:请求参数的类型不对
常见情况有:前端传时间格式,后端用String接收。或者前端传的不是json数据,后端实体类封装不了。
解决方法:
1.检查前后端对应参数类型是否对应。
2.前端ajax请求如果是post请求,同时contentType属性为
contentType:'application/json;charset=UTF-8',这时候前端data传值必须为json字段串,要将对应对象使用JSON.stringify(param)将对象转化成json字段串。
例子如下:
// 创建对象var person=newObject()// 添加属性
person.name='张三'
person.sex='男'
$.ajax({
url: ctxPath+'/save',//请求路径
data:JSON.stringify(person),//请求参数,将对象转json字符串type:'POST',//请求类型
contentType:'application/json;charset=UTF-8',//请求数据类型
dataType:'text',//返回数据类型 如果后端返回一个消息对象 这里为json
success:function(result){console.log(result);},
error:function(err){console.log(result);}});
原因三:Get请求的url长度超过浏览器或web服务器限制。
浏览器对url的长度限制自行上网搜索。这里简单说一下常用的两个浏览器对url长度的限制。
1.谷歌(chrome)浏览器:8182字节
2.火狐(Firefox)浏览器:65536字节
服务器对url的限制
Tomcat:长度限制为8192字节
nginx:可以通过设置属性来扩展url长度
large_client_header_buffers 4 1m (请求行(url)+请求头的数据为4*1024k)
例如
http {
include mime.types;
default_type application/octet-stream;
large_client_header_buffers41k;// http请求行(url)最大为1k
server {
listen80;
server_name192.168.1.100;
}
server {
listen80default;// 当有多个server模块时,会优先使用default server 的属性配置
server_name192.168.1.100;
large_client_header_buffers41m;
}
}
Nginx配置学习:https://www.jianshu.com/p/20a687873bf0
猜你喜欢
金牌看点|中国速滑力争包揽 空中技巧善始善终
120
跆拳道员工管理制度
107
中国在悉尼外海开火后,澳大利亚求和,新西兰认怂,王毅表态亮了
173
被油溅到了皮肤小妙招 被油溅到皮肤怎么办
261
走近国内领先的“皮肤战队”——访中国医科大学附属第一医院皮肤性病科
189
专利代理合同7
139
闰四月有啥讲究 闰四月有什么讲究
189
三良荐书 | NO.214
161
食补优于药补:养生保健的科学选择
107
浙江省召开知识产权保护要情通报会
161
视频丨从“外出务工”到“就近就业” 农民工就业渠道更加多元
喉咙干痒有异物感,咳不出又咽不下?小心是慢性咽炎在作祟!
咽炎总复发?你可能没避开这些刺激
二手房交易流程及税费(仅供参考)
幸福的一家人作文(精选15篇)
健康生活方式的10条“金标准”!赶紧对照一下
关于潮州市光正实验学校调整学费收费标准(拟)公开征求意见的公告
潮州市枫溪阳光实验小学2017年秋季一年级新生招生简章
科普添动力,实现“双碳”目标更可期
关于加强义务教育阶段学科类校外培训收费监管的通知



