使用axios发送post请求返回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; }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。