在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;

原因:

1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;

2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;

解决方案:

1)对照字段名称,类型保证一致性

2)使用stringify将前端传递的对象转化为字符串    data: JSON.stringify(param)  ;

具体案例:

HttpGet或 HttpPost都不能传包含 ” 、“{“、”}”这样的参数,需要对特殊字符进行转义,把 ” 转成%22,把 { 转成%7b,把 } 转成%7d

String url= "http://127.0.0.1:9000/signal/Resource?param={\"name\":\"service1\",\"param\":{\"id\":\"1\"}}";

url= url.replace("\"", "%22").replace("{", "%7b").replace("}", "%7d");

注意:参数里面如果有 空格的话,也需要转义,否则会有问题。

原文链接:https://blog.csdn.net/juan0901/java/article/details/82415612

从本地继续测试,跟踪tomcat console后台

发现后台报错:

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

五、原因:tomcat问题

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

Tomcat换一个低一点的版本可以!这是因为高一点的Tomcat版本对URL有更严格的要求,当你的URL中包含了超出RFC 7230和RFC 3968所定义的字符时,就会报错。

本地使用的是tomcat7.0.73,正常运行的使用的是toamcat7.0.47

回测后,页面返回正常。

原文:https://www.cnblogs.com/zh-dream/p/12742550.html

java http 400 错误的请求_HTTP 400 错误 - 请求无效 (Bad request)相关推荐

  1. java中412是什么错_HTTP 412 错误 – 先决条件失败 (Precondition failed)

    HTTP 412 错误 – 先决条件失败 (Precondition failed) 介绍 您的 Web 服务器认为,该服务器检测到客户端发送的 HTTP 数据流包括一个没有满足的'先决条件'规范. ...

  2. Tomcat容器下Zuul网关加解密后的第一次请求出现400错误的问题

    问题现象 某些前端发来的请求会在前端加密发送到网关,并在网关解密之后发到真正的微服务,并将结果加密返回给前端. 实现网关加密后,发现一次加密请求后,紧接着的非加密GET请求,就会出现400的错误.再发 ...

  3. java 设置400错误_Java项目报400错误的原因与解决方法

    java项目中400错误介绍:(推荐:java视频教程) 400 Bad Request: 请求中的语法错误.Reason-Phrase应当标志这个详细的语法错误,比如"Missing Ca ...

  4. bad request java_HTTP 400 错误 - 请求无效 (Bad request)

    第一类报错:字符串转换错误和版本问题 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里: 原因: 1 ...

  5. 错误代码大全【100(临时响应)】【200(成功)】【300(已重定向)】【400(请求错误)】【500(服务器错误)】(HTTP协议版本)

    最常出现的错误代码: 200(成功) 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 400(错误请求) 服务器不理解请求的语法. 404(未找到) 服务器找不到请求的网页.例如,如果请 ...

  6. uniapp:request 请求出现400错误

    uniapp:request 请求出现400错误 开发需求:我们团队在使用 uniapp springboot 开发微信小程序项目,前端向后端发送request 请求时,前端爆出400错误. 400错 ...

  7. linux 400错误请求,HTTP 400 错误 - 请求无效 (Bad request)的原因分析和解决方法

    400是一种是HTTP状态码,400 Bad Request.是在打开网页时服务器返回到客户端的一种状态码.显示在客户端的也就是400页面. 400页面是当用户在打开网页时,返回给用户界面带有400提 ...

  8. http请求报400错误的原因分析

    HTTP 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进 ...

  9. python requests 400错误_「http 400」http请求报400错误的原因分析 - seo实验室

    http 400 http 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效 ...

最新文章

  1. 如何优化数据中心虚拟机布局
  2. 连接centos7桌面方法
  3. 如何判断数据库的某个字段不为空方法
  4. 已经正常安装ssh: connect to host 192.168.4.254 port 22: Connection refused
  5. 重磅,Intel考虑收购博通
  6. [CISCN2018]crackme-java
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的公寓租赁系统
  8. [Ext JS]3.2.2 文本输入框textfield
  9. php本地文件包含漏洞,php文件包含漏洞利用小结
  10. 一道自创的招聘测试题
  11. python画羊_羊车门作业 Python版
  12. 【转】各种字符串算法大总结
  13. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---41
  14. Flutter实战之Android混合开发初探
  15. 什么是我想要守护的东西?
  16. c 导出html表格数据格式文件,将html网页导出excel表格数据/如何将html页面中的表格导出到excel表格...
  17. Redis入门指南-2
  18. Linux文件系统及常用命令
  19. 【细胞分割】基于中值滤波+分水岭法实现细胞计数matlab源码
  20. rstudio 连接mysql_RStudio 操作MySQL数据库

热门文章

  1. 《开源圆桌派》第十期:开源应该野蛮生长,还是开放治理?
  2. 史上最完整的PS快捷键(绝对经典)
  3. Blobtrack 运行
  4. 我的世界代码(即使玩游戏也要学代码的哟^_^)
  5. oracle 删除表空间
  6. python应用系统访问瀚高库
  7. 关于火狐firefox不能启动解决方法
  8. docker安装及启动mysql服务
  9. Java练习之奥特曼打怪兽(回合制)
  10. prim算法(普里姆算法)详解