post无法在后台获取到值,但get可以,这是什么问题?

凌空寻宇 2017-08-02 06:52:39
前台如果用post向后台提交数据的话,后台获取不到数据




但是如果用get发送,就能够获取到




我先是用的struts2+fetch(es6),结果无法获取到,我以为是es6的问题,查了一天无果;
然后我又把struts2换成了springmvc,还是不行;
然后把fetch换成了angularjs,仍然不行;
所以我感觉应该和前后台的代码没有太大关系,但post就是取不到值,get就能取到,不知道为什么
...全文
5261 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwmlow 2019-08-28
  • 打赏
  • 举报
回复
@RequestParam 即url传参你不指定请求类型 默认get请求 @Requestbody 传json对象不指定请求类型 默认post请求 get请求是没法用@Requestbody 注解的
积小流 2019-08-28
  • 打赏
  • 举报
回复
@RequestMapping(value = "/xxx", method = RequestMethod.POST)
空\ 2019-08-27
  • 打赏
  • 举报
回复
????我也遇到了同样的问题,楼主现在解决了吗? 我也是醉了,如论怎样都获取不到数据,这可咋办呢!!!!
  • 打赏
  • 举报
回复
什么?????楼主基础 也太差了吧,POST连x-www-form-urlencode都不加??建议细心一些!
li17209 2018-02-23
  • 打赏
  • 举报
回复
25楼正解,如果使用req.getParameter获取POST请求的数据,必须x-www-form-urlencode
open_yu 2018-02-23
  • 打赏
  • 举报
回复
其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理; 参考链接
unclezh0730 2018-02-23
  • 打赏
  • 举报
回复
有点奇怪的是你要规定那个headers,我写aj没有规定过那个东东,一般我会在后台限定post请求或者是get请求,aj这边的请求就要写明是get方式还是post方式,建议你去掉headers。并且一般来说你写成了json的格式,但是你在headers中却写“x-www-form-urlencode”。后台中的的controller,应该是如果不写明以何种方式访问,默认是get,所以你在不声明的情况下默认了get访问,然后你提交post,不知道是不是这个问题。
godvi_csdn 2018-02-23
  • 打赏
  • 举报
回复
$.ajax({ data: {"name": meunName} }) 给name加上引号试试呢!
薯片M 2018-02-22
  • 打赏
  • 举报
回复
楼主最后解决了吗?也遇到了和楼主一样的问题,百思不得其解啊。。。
明天_你好丨 2017-08-05
  • 打赏
  • 举报
回复
数据类型是否匹配
凌空寻宇 2017-08-03
  • 打赏
  • 举报
回复
刚刚又试了一下,如果前台post的是json数据,后台用RequestBody接收的话也能够接收到json字符串




唯独RequestParam接收不到前台的FormData数据,真是奇怪
凌空寻宇 2017-08-03
  • 打赏
  • 举报
回复
引用 13 楼 yanghaimingg 的回复:
$.ajax({
type: 'post',
url:url,
dataType:'json',
data:{test:1112},

类似这种,其他无关的定义去掉




不行,后台取不到值



引用 11 楼 xwn_2016 的回复:
方法中增加一个参数 String name

打印下 name看看

方法中加参数打印出来的也是null
minemine0418 2017-08-03
  • 打赏
  • 举报
回复
一句话,你有毒
凌空寻宇 2017-08-03
  • 打赏
  • 举报
回复
引用 10 楼 oh_Maxy 的回复:
data:{menuName:menuName}


别说命名问题了,我改回menuName还不行么……后台也改回用HttpservletRequest
lifewell1 2017-08-03
  • 打赏
  • 举报
回复
使用火狐的poster工具测试各种提交方式
mtian2020 2017-08-03
  • 打赏
  • 举报
回复
$.ajax({ type: 'post', url:url, dataType:'json', data:{test:1112}, 类似这种,其他无关的定义去掉
凌空寻宇 2017-08-03
  • 打赏
  • 举报
回复
引用 9 楼 yanghaimingg 的回复:
第一种方法ajax的contentType换成dataType:'json',试试


是像这样吗?


post头的数据


但是后台还是取不到值
xwn_2016 2017-08-03
  • 打赏
  • 举报
回复
方法中增加一个参数 String name 打印下 name看看
oh_Maxy 2017-08-03
  • 打赏
  • 举报
回复
data:{menuName:menuName}
mtian2020 2017-08-03
  • 打赏
  • 举报
回复
第一种方法ajax的contentType换成dataType:'json',试试
加载更多回复(10)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧