前端Post请求传输数据到后台接收不到

前端Post请求传输数据到后台接收不到,第1张

原因是数据传输的接收方式对不上。

常用@RequestParam(“参数名称”)也可以不写使用springMvc自己根据参数名称自动赋值

这个和上个差不多吧,如果是multipart类型的文件,记得在后端接收参数是直接使用 方法(multipart 参数名) 来接收,springMvc就会根据参数名来封装,接收到的对象还会有很多的方法可以查看并使用。

必须使用@RequestBody来处理

普通数据使用Map集合来接收数据,再利用mapget(“参数名称”)来获取,

如果参数可以封装成对象类型,就不需要自己在做什么只需要方法(@RequestBody User user或者@RequestBody List<User> userList) 直接就自动封装了很是舒服

如果参数是很多个相同类型的,使用@RequestBody注解将外部传递的json数组数据映射到形参的集合对象中作为数据 例如 方法(@RequestBody List likes)参数的值就全被封装在了集合中 这里有点和map那个相似,但是list集合是有序的,而map是双列集合,可以利用key获取值

前端在请求参数中设置请求头为

然后后端就可以用@RequestParam(“参数名称”)接收参数

前端的请求头为

后端要使用RequestBody来接收参数

JSP页面有几个内置对象,需要用到的几个如下:

request:包括>

调用一次ajax请求时,在浏览器那边却会查询到两次请求,第一次的Request Method参数是OPTIONS。

     这是浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前,会先进行一次预请求,就是我们刚刚说到的参数为OPTIONS的第一次请求,他的作用是用于试探性的服务器响应是否正确,即是否能接受真正的请求(是没有返回值值)。

如果在options请求之后获取到的响应是拒绝性质的,例如500等>

在局域网下,前端页面请求时在请求头里携带token信息,后台获取不到header里的token参数

debug查看了下返回的request参数

用postman调接口的request参数

发现cors跨域复杂请求会先发送一个方法为OPTIONS的预检请求,这个请求是用来验证本次请求是否安全的

第二个过滤器判断token时会把预请求当做真正的请求去判断,所以在第二个过滤器判断token之前先判断是不是预请求OPTIONS,不是则验证token,是则放行。

在判断token之前加判断语句

以上就是关于前端Post请求传输数据到后台接收不到全部的内容,包括:前端Post请求传输数据到后台接收不到、怎么把后台获取到的数据放到前端jsp界面、前端请求后端为什么会有两条一样的请求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9745620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存