post请求后台如何用@RequestParam接收

方法有两个:第二个比较麻烦,推荐第一个
方法一:前端使用json发送post请求,后端不使用@RequestParam,转而使用@Param注解
前端代码如下:

 $.ajax({
          type: "POST",
          url: "url",
          data: {
            "key" : value
          },
          dataType: "JSON",
          success: function(result) {
          }
        });

后台代码

@PostMapping("")
    public void method(@Param("key1")Long key1,@Param("key2")Long key2,@Param("key3")String key3){
   
    }

方法二ajax模拟form表单提交,前端代码格式如下,需要保持我这个格式,自测后台的@RequestParam是可以接收到参数的
前端代码

//写法和json类似,前面是键,后面是值
    var formData = new FormData();
    formData.append("username",vm.username);
    formData.append("password",vm.password);
    formData.append("mobilePhone",vm.mobilePhone);
    formData.append("code",vm.code);
    formData.append("id",id);
      $.ajax({
        type: "post",
        url: url,
        data : formData,//模拟表单发送post请求
        async:false,
        contentType: false,/*post请求默认是contentType: "application/x-www-form-urlencoded",如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。*/
        processData: false,
        dataType:'text',
        success: function (data) {
          window.location.href="login.html";
        },
        error: function (e) {
          console.log(e.status);
          console.log(e.responseText);
        }
      })

后台代码

    @PostMapping("registry")
    public ResponseEntity<Void> registry(
            @RequestParam("username")String username,
            @RequestParam("password")String password,
            @RequestParam("id")Long id,
            @RequestParam("mobilePhone")Long mobilephone,
            @RequestParam("code")int code){

   			//写你自己的代码,后台不一定需要像我的这种风格写,用@RequestParam可以收到参数的
  


        return ResponseEntity.ok().build();
    }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值