时间:2021-05-18
今天在用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")@ResponseBodypublic 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")@ResponseBodypublic 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状态码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题:axios返回200状态码(即请求成功)却走进了catch里面原因:1.当axios请求完成后走的时then的代码块,如果then代码块中存在错误代码信息
问题描述下面的例子是一个Ajax的post请求的代码,这段代码在测试运行的时候,发现返回的状态码为400,服务器不能理解的请求,后来经过查看和修改,发现只需要将
最开始的时候,因为请求后台出现跨域问题。查找资料配置proxyTable,解决跨域问题。如下图所示:axios请求页面:this.$axios.post('/a
使用axios处理post请求时,出现的问题解决默认情况下:axios.post(url,params).then(res=>res.data);当url是远程
今天某公司对接我公司的一个api业务.当天下午客户在自己的线上业务平台下发送了个POST请求,结果我方在前端Nginx收到了状态码为400的响应.之前没有遇到过