码迷,mamicode.com
首页 > 编程语言 > 详细

vue使用fetch.js发送post请求java后台无法获取参数值

时间:2018-09-10 17:54:42      阅读:1139      评论:0      收藏:0      [点我收藏+]

标签:append   red   odi   ica   头文件   set   const   str   export   

问题:前台vue使用fetch.js发送post请求后,后台 request.getParameter()无法获取到参数值

思路:查阅后,原因为fetch中头文件Content-type这个Header为application/x-www-form-urlencoded导致request请求中的form data变成request payload

处理办法:后台controller中使用流接受数据后,在进行查询操作既可。

  • vue代码
  • /**
     * 获取行业大类
     */
    export const hangyebrief = industryId => fetch(‘/console/good/industry/findIndustry‘, {
      industryId: 2
    }, ‘POST‘);
    

    controller代码

  •     @RequestMapping("findIndustry")
        @ResponseBody
        public AjaxRes findIndustry( HttpServletRequest request,HttpServletResponse response){
            StringBuilder sb = new StringBuilder();
            try(BufferedReader reader = request.getReader();) {
                char[]buff = new char[1024];
                int len;
                while((len = reader.read(buff)) != -1) {
                    sb.append(buff,0, len);
                }
            }catch (IOException e) {
                e.printStackTrace();
            }
            String idString = sb.toString();
            String  industryId = idString.substring(idString.indexOf(":")+1,idString.indexOf("}"));
            AjaxRes aj = new AjaxRes();
            GoodIndustryVo goodIndustry  = new GoodIndustryVo();
            if (industryId != null && industryId != "") {
                goodIndustry.setIndustryId(Integer.parseInt(industryId));
            }
            List<GoodIndustryVo> goodIndustryList = goodIndustryService.find(goodIndustry);
            aj.setObj(goodIndustryList);
            return aj;
        }
    

      

      

vue使用fetch.js发送post请求java后台无法获取参数值

标签:append   red   odi   ica   头文件   set   const   str   export   

原文地址:https://www.cnblogs.com/schon/p/9621073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!