vue中用axios发送请求 后端是servlet POST接收参数空

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

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

猜你喜欢

转载自blog.csdn.net/weixin_44647098/article/details/108477537