Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. java.lang.Il

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前端用get或者post请求方式请求后端数据交互由于后台开始没有成功接收到数据于是我把请求的数据类型改为json类型数据结果

浏览器控制台报错为 400错误:

后台报错为Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target [/test1?0=[%7B%22address%22:%22%E4%B8%8A%E6%B5%B7%E5%B8%82%E6%99%AE%E8%B7%AF+1518+%E5%BC%84%22%7D,%7B%22address%22:%22%E4%B8%8A%E6%B5%B7%E5%B8%82%E6%99%AE%E9%99%80%E5%8C%BA%E9%87%91%E6%B2%99%E6%B1%9F%E8%B7%AF+%22%7D] ]. The valid characters are defined in RFC 7230 and RFC 3986
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:494)
    

后台报错“Invalid character found in the request target”翻译下就是请求目标中发现无效字符在RFC 7230 and RFC 3986中定义了{}和一些其他字符是不在保留字段中的需要转义如‘{’需要转义成%7B‘}’要转义成%7D。

 我的解决方案是弃用这种方法

浏览器打印数据打印的语句console.info(this.submitData)

发现是个数组需要的数据在0的下面

于是使用下标如this.submitData[0]成功解决。

后台获得了数据

追加上述可以解决一次传入一行数据一次传入多行也只有一行数据能被接收。

显然这不是我要的又捣鼓了两小时终于解决一些问题。

解释json有两种形式json数组和json对象而之前一直使用json数组发送报错400

或者415调试不报错时后端也接收不到数据。

暂时解决把json数组改成json对象就可以了。例如{list:data}

这里的data是json数组而这个整体是json对象。

后台接收到数据

菜鸟一枚还望大神赐教 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java