解决axios发送post请求返回400状态码的问题
2018-08-11 15:38
946 查看
今天在用 axios 发送一个跨域的post请求时,遇到了一个坑:Uncaught (in promise) Error: Request failed with status code 400。
前台代码如下:
axios({ method: "post", url: "http://localhost:8080/employee/testpost", data: { username: '234234', password: '4565' } }).then((res) => { console.log(res.data); })
后台代码如下:
@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。我这里采取的解决办法是改变后台的接收方式:
@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; }
这样数据就成功返回了!
相关文章推荐
- 解决SpringMVC接收不到axios发送post请求的数据问题
- jQuery 发送 post 请求返回字符串乱码的解决
- 纠缠多日的post请求没有正确返回值的问题终于解决
- 解决YII提交POST表单出现400错误,以及ajax post请求时出现400问题
- IOS 出现问题POST网络请求状态code:500的解决方法
- 解决spring3.0.5使用RestTemplate发送post请求响应中文乱码问题
- axios发送post请求springMVC接收不到参数的解决方法
- vue 集成 axios 发送post请求 payload导致后台无法接收到数据问题
- axios发送post请求后端接收不到的问题
- NGINX反向代理对HTML页面的POST请求返回405状态码解决方法
- vue2.0 axios发送post请求,后端参数获取不到的解决方式
- 解决axios,post请求传递不了对象{}参数的问题
- 使用 RestTemplate 发送 post 请求后返回 json 中 ":" 变成 "=" 的解决办法
- 安卓发送Get、Post请求,解决参数乱码问题
- axios发送post请求后台接受不到问题
- axios发送post请求,springMVC接收不到数据问题
- 解决 AngularJs $http 发送post,get请求,SpringMvc无法接受参数的问题。
- axios发送post请求,springMVC接收不到数据问题
- vuejs中vue-resource或使用axios发送请求及解决跨域问题
- java实现发送HTTP的POST请求,返回数据以及请求状态