请求接收属性的问题

请求接收属性的问题

前端ajax发送的get请求,可以用requestParam注解来接收,我发现用ajax发送post请求也可以使用requestParam来接收,然后我发现post的默认发送请求都是以param来传递的, 并不是在body中,如果用requestBody注解,用一个对象来接收属性,是接收不到的。 必须在ajax发送的时候设置body类型发送才可以吧?

那应该怎么写呢?应该这样写吗?如下? 

$.ajax({
url : "/leave/audit", //审核URL
   data : data.field ,
type : "post" ,
dataType:"json",
contentType:"application/json;charset=utf-8",

success: function (json) {
//关闭所有layui对话框
       layui.layer.closeAll();
//显示处理结果


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2021-07-18 15:54:42

同学你好,在post请求中,传递参数默认是在body中。

如果用requestBody注解,以json格式接收,对应在传递参数时,要使用json形式来传递。

http://img1.sycdn.imooc.com//climg/60f3de280909f7e403220132.jpg

​并不是同学说的设置body类型发送。

祝学习愉快~

  • 提问者 rock221 #1

    ​电商项目中,post的请求,都是用requestParam 接收的。  如果requestBoby接收, 必须把参数放到body中,才可以, 前端的ajax可以放在param中或者body中,这个需要设置的。 

    dataType值如果为'json',jquery就会把后端返回的字符串尝试通过JSON.parse()尝试解析为js对象,这是针对返回的,我说的是发送。 

    2021-07-18 16:37:41
  • 好帮手慕小班 回复 提问者 rock221 #2

    同学你好,同学的说法是正确的,在发送请求过程中,使用@requestBoby接收数据,对应要将数据放在body中,并且以json格式发送,比如

    http://img1.sycdn.imooc.com//climg/60f4069009f1c63e11500157.jpg

    而在$ajax这样书写形式中,同学可以直接在data中

    http://img1.sycdn.imooc.com//climg/60f4071d0909fbc404400165.jpg

    以key-value的形式传递,则就是json格式的参数了。比如

     data: { AlbumName: "shanghai", Entered: "5/9/2013" },

    祝学习愉快~​

    2021-07-18 19:01:29
  • 提问者 rock221 回复 好帮手慕小班 #3

    如果直接写data:date.filed,这样写的话,不是json类型的吧。 用requestParam 可以接收到的吧, 而如果

     data: { AlbumName: "shanghai", Entered: "5/9/2013" },

    这样写, requestParam 就无法接收了吧。

    2021-07-18 19:06:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师