POST Required String parameter ‘****‘ is not present

场景:

代码如下:

    @RequestMapping(value = "/javaserial.do",method = RequestMethod.POST)
    @ResponseBody
    public ModelAndView JavaSerial(@RequestParam("serial") String serial) throws Exception {
        String string =  javaserial(serial);
        ModelAndView mv = new ModelAndView();
        mv.addObject("output", string);
        mv.setViewName("serial");
        return mv;
    }

这里我设置了RequestMethod.POST,但是当我发送post请求后可以看到报错:

POST Required String parameter ‘****‘ is not present_第1张图片

解决:

网上很多解决方法,看了看都不靠谱,这里说明导致这个问题的主要就以下几个问题:

情况一:

是否确定添加了RequestMethod.POST

@RequestMapping(value = "/javaserial.do",method = RequestMethod.POST)

情况二:

提交的数据包中必须有Content-Type: application/x-www-form-urlencoded

POST Required String parameter ‘****‘ is not present_第2张图片

情况三:

jquery提交delete时,不支持@RequestParam,只支持@PathVariable形式

差不多就这三类,如果发现不能接收post数据,一定要记得抓包看一下内容是否包含Content-Type: application/x-www-form-urlencoded

你可能感兴趣的:(java,前端,javascript)