axios传参总结

总体结构:
axios.get(url[, config])

axios.delete(url[, config])

axios.post(url[, data[, config]])

axios.put(url[, data[, config]])

axios.patch(url[, data[, config]]

1.get传参

axios中常见的get/delete请求,也称作query请求:

前台传参代码

this.$http.get("test/user/login",{
    params:{
    username:this.loginForm.username,
    pwd:this.loginForm.pwd}
    })

参数形式:
在这里插入图片描述
参数形式

注: params参数必写 , 如果没有参数传{ }也可以

后端接参代码:

 @GetMapping("/user/login")
    public ResponseEntity<User> login(@RequestParam("username") String username,@RequestParam("pwd") String pwd)
    {

        User user=new User();
        user.setUsername(username);
        user.setPwd(pwd);
        //User user1=new User();
        if(username.equals("123456")&&pwd.equals("123456"))
        {

            return ResponseEntity.ok(user);
        }

        return ResponseEntity.notFound().build();
    }

2.post请求

前端代码:

this.$http.post("test/user/login2",this.$qs.stringify(this.loginForm))

传参形式:
在这里插入图片描述
在这里插入图片描述
后台接参代码:

@PostMapping("/user/login2")
    public ResponseEntity<User> login2(@RequestParam("username") String username,@RequestParam("pwd") String pwd)
    {

        User user=new User();
        user.setUsername(username);
        user.setPwd(pwd);
        //User user1=new User();
        if(username.equals("123456")&&pwd.equals("123456"))
        {

            return ResponseEntity.ok(user);
        }

        return ResponseEntity.notFound().build();
    }

3.对于post/put传递方式总结

(1) 传参格式为 formData

(全局请求头:‘Content-Type’= ‘application/x-www-form-urlencoded’)

(request的Header:‘Content-Type’= ‘multipart/form-data’)

前台传参:

  var formData=new FormData();
  formData.append('username',this.loginForm.username);
  formData.append('pwd',this.loginForm.pwd);
  this.$http.post("test/user/login2",formData)

参数形式:
在这里插入图片描述
在这里插入图片描述

后台传参:

@PostMapping("/user/login2")
    public ResponseEntity<User> login2(@RequestParam("username") String username,@RequestParam("pwd") String pwd)
    {

        User user=new User();
        user.setUsername(username);
        user.setPwd(pwd);
        //User user1=new User();
        if(username.equals("123456")&&pwd.equals("123456"))
        {

            return ResponseEntity.ok(user);
        }

        return ResponseEntity.notFound().build();
    }

(2) 传参格式为 query 形式

(全局请求头:‘Content-Type’= ‘application/x-www-form-urlencoded’)

(request的Header:‘Content-Type’= ‘application/x-www-form-urlencoded’)

第一种情况:使用$qs.stringify

上面已经叙述过,此处不再赘述。。。。。。。。。。

(3) 传参格式为 raw (JSON格式)
第一种情况: axios将JavaScript对象序列化为JSON

(全局请求头:‘Content-Type’= ‘application/x-www-form-urlencoded’)

(request的Header:‘Content-Type’= ‘application/json;charset=UTF-8’)

前端代码:

 this.$http.post("test/user/login3",this.loginForm)

参数形式:
在这里插入图片描述
在这里插入图片描述
后端接参代码:

@PostMapping("/user/login3")
    public ResponseEntity<User> login3(@RequestBody User user)    {


        //User user1=new User();
        if(user.getUsername().equals("123456")&&user.getPwd().equals("123456"))
        {

            return ResponseEntity.ok(user);
        }

        return ResponseEntity.notFound().build();
    }

注:前台传过来的是一个JSON对象,所以后台我用对象接受,springmvc提供@Requestbody此注解接收json对象

注: this.$qs.stringfy()----->这个是搜索参数字符串 ?a=10&&b=20
JSON.stringfy()-------->这个是json字符串

{“username”:“123456”,“pwd”:“123456”} login.vue?8d26:70
{“a”:“123”,“b”:“456”}
在这里插入图片描述
这是json对象:

{username: “123456”, pwd: “123456”}

然后一般是将JSON字符串转换成JSON对象再向后台传
JSON.parse()----------------------------本人这样认为,不妥自己拿捏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值