HTTP请求报错:400 Bad Request解决方法!!(终极整理)

HTTP请求报错:400 Bad Request解决方法!!(终极整理)问题场景 当项目的前端页面使用 ajax 请求访问后端时 出现该错误 我这里是测试接口时 发生了错误 原因一 请求参数个数不对 后端接口上明确规定了请求参数的个数 比如 接口 方法 中的值中使用了 requestparam 注解 requestparam 注解中有个 require 属性 默认为 true 意思则是 必须要传该参数的值 该参数不可为空 解决办法 1 如果该参数是可传可不传的 修改 require 属性为 false 2 检查前端 js 文件中对应的 ajax 请求中的请求数据是否为空 或者是否有该参数

问题场景:当项目的前端页面使用ajax请求访问后端时,出现该错误。

在这里插入图片描述

我这里是测试接口时,发生了错误。

原因二:请求参数的类型不对

常见情况有:前端传时间格式,后端用String接收。或者前端传的不是json数据,后端实体类封装不了。

例子如下:

// 创建对象 var person = new Object() // 添加属性 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服务器限制。

http { include mime.types; default_type application/octet-stream; large_client_header_buffers 4 1k; // http请求行(url)最大为1k server { listen 80; server_name 192.168.1.100; } server { listen 80 default; // 当有多个server模块时,会优先使用default server 的属性配置 server_name 192.168.1.100; large_client_header_buffers 4 1m; } } 

Nginx配置学习:https://www.jianshu.com/p/20abf0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219425.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:35
下一篇 2026年3月17日 下午10:35


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号