今天在用
nofollow" target="_blank" href="https://www.axios.com/brett-kavanaugh-confirmation-hearings-start-september-4-7ef3dd77-2d96-40df-b196-ca84ddcdf461.html">axios
发送一个跨域的post请求时,遇到了一个坑:Uncaught (in promise) Error: Request Failed with status code 400。 {
console.log(res.data);
})
rush:js;">
@CrossOrigin
@PostMapping("/employee/testpost")
@ResponseBody
public Result testpost(@RequestParam(value = "username",required = true) String username,@RequestParam(value = "password",required = true) String password) {
System.out.println(username + "," + password);
Result json = new Result();
json.setResult(1);
return json;
}
而当我在postman上发送post请求时就能成功获得返回数据。困扰了很久,才发现是请求头的问题。axios请求头的 Content-Type 默认是 application/json,而postman默认的是 application/x-www-form-urlencoded。
我这里采取的解决办法是改变后台的接收方式:
rush:js;">
@CrossOrigin
@PostMapping("/employee/testpost")
@ResponseBody
public Result testget(@RequestBody Map map) {
System.out.println(map.get("username") + "," + map.get("password"));
Result json = new Result();
json.setResult(1);
return json;
}
这样数据就成功返回了!
以上这篇解决axios发送post请求返回400状态码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文地址:https://www.jb51.cc/js/31065.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。