Below I will share with you a solution to the problem that springMVC cannot receive parameters when sending a post request in axios. It has a good reference value and I hope it will be helpful to everyone.
When axios sent a post request, there was a situation where the parameters could not be received in the background. After analyzing the request, I found that the content-type of the request header was wrong. It was application/json. Normally it should be application/x-www- form-urlencoded.
There are three solutions:
1. Set the default request header of axios
//设置全局的 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; var instance = axios.create({}) // 这样创建出来的 只需要: instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
2. Use URLSearchParams to construct parameters
var params = new URLSearchParams(); params.append("username", _this.username); params.append("password", _this.password); axios.post("/service/login", paramsOfJson ).then(function (response) { console.log(response); }).catch(function (error) { console.log(error); })
3. Use @requestBody to receive in the background
@PostMapping(value = "/login") public String testLogin(@RequestBody Map dataMap)
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
vue filter filter instance detailed explanation
The vue page switches to the scroll page to display the top instance_vue.js
Let’s talk about the use of JS animation library Velocity.js
The above is the detailed content of Sending a post request through axios found that springMVC could not receive parameters (detailed tutorial). For more information, please follow other related articles on the PHP Chinese website!