vue中用axios发送请求 后端是servlet POST接收
发现是axios发送请求的时候如果不自己设置请求头,它自己默认的请求头是这样的。
后端解决
- 通过流来读取
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
StringBuilder sb = new StringBuilder();
BufferedReader reader = req.getReader();
char[] buf = new char[1024];
int len;
while ((len = reader.read(buf)) != -1){
sb.append(buf,0,len);
}
System.out.println(sb.toString());
}
前端解决
通过特定的格式来进行传递参数 不需要设置修改请求头什么等等花里胡哨的的操作
login(formName){ //登陆
console.log(formName)
let params = new URLSearchParams();
params.append('username', formName.username)
params.append('password', formName.password)
return Axios.post(url+'/ajax/userLogin', params);
}
这个问题最好还是里来前端来解决 减少了后台工程师通过流来进行获取(还有进行字符节截取等等的操作),相比之下前端解决更方便
------------菜鸡的见解