axios向后台发送post请求时关于参数传递的方式总结

分类:计算机 | 前端 | 综合 1048
更新:2022-02-09 23:13:16
编辑

最近在使用axios向后台服务发送post请求时发现后台接口接收到的前端参数都是null。

后台接口如下:

@PostMapping("/chaoqianit/login")
@ResponseBody
public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
{
  UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
  Subject subject = SecurityUtils.getSubject();
  ......
}

网上查了一下了解到,出现参数为null的情况是因为axios发送post请求时的参数格式不对,对于这样的后台接口,前端应该这样写:

var params = new URLSearchParams();
params.append('username', this.ruleForm.username);
params.append('password', this.ruleForm.password);
params.append('validateCode', this.ruleForm.validatecode);
params.append('rememberMe',true);

axios.post("/chaoqianit/login", params)
.then(function(res) {
})
.catch(function(error) {
that.$message.error("登录失败!");
});

参考资料

https://jingyan.baidu.com/article/29697b916d6a7bab20de3cf9.html