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);
    }

这个问题最好还是里来前端来解决 减少了后台工程师通过流来进行获取(还有进行字符节截取等等的操作),相比之下前端解决更方便
------------菜鸡的见解

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐