前端利用xmlhttprequest时,如果使用的content-type是 application/x-www-form-urlencoded;charset=UTF-8 ,并且send的内容需要用get一样的格式
例如
let xhr = new XmlHttpRequest();
xhr.open("post","http://xxxx");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xhr.send("a=1&b=2&c=abc"); //此处是关键
xhr.send(JSON.stringify({a:1,b:2,c:'abc'})); //这个java后端无法通过getParamter获取到的
java后端才能使用request.getParamter("")接收
如果是利用JSON传参
let xhr = new XmlHttpRequest();
xhr.open("post","http://xxxx");
xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");
xhr.send(JSON.stringify({a:1,b:2,c:'abc'}));
那么后端java必须用流接收并解析
String paramJson = IOUtils.toString(request.getInputStream(), "UTF-8");
Map parseObject = JSON.parseObject(paramJson, Map.class);
params.putAll(parseObject);
参考链接
servlet获取Post请求