这样子后端代码,接收post请求提交的表单,post默认就是这样子的
@PostMapping("/loginWithPWord")
@ResponseBody
public ConResult loginWithPWord(HttpServletResponse response,
@RequestParam("phone") String phone,
@RequestParam("password") String password
,@RequestParam("openId") String openId) {
}
axios配置:这里全局设置成post,put以表单方式提交。
import axios from "axios"
import QS from "qs"
const instance = axios.create();
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
instance.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
我这里是把axios配置成全局的
post方法:
export function post(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, QS.stringify(params))
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err.data)
})
});
}
如果把上面的后台接口PostMapping改成PutMapping
axios--put:和post相比多了一个?号
export function put(url, params) {
return new Promise((resolve, reject) => {
axios.put(url+"?"+QS.stringify(params))
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err.data)
})
});
}
如果后台数据以RequestBody注解接收,那么前面配置里post或者put的Content_type同样要设置成json格式的。