前台如果用post向后台提交数据的话,后台获取不到数据
但是如果用get发送,就能够获取到
我先是用的struts2+fetch(es6),结果无法获取到,我以为是es6的问题,查了一天无果;
然后我又把struts2换成了springmvc,还是不行;
然后把fetch换成了angularjs,仍然不行;
所以我感觉应该和前后台的代码没有太大关系,但post就是取不到值,get就能取到,不知道为什么

解决方案 »

  1.   

    前端post是如何请求的,发出来看看
      

  2.   

    是不是配置了只允许get提交
      

  3.   

    把@ResponseBody去掉试试
      

  4.   


    前端post我用了3种方法,都不行jquery
    angularjs
    es6 fetch
      

  5.   


    我现在后台用的是springmvc,这个是在哪里配置的?
      

  6.   

    4Ljquery这个{name:menuName}前面的用name的原因是:后台我给改成了接收Menu对象,对象里用的属性是name。不过同样还是如果把参数直接加在url后面用get就能收到,用post就收不到
      

  7.   


    前端post我用了3种方法,都不行jquery
    angularjs
    es6 fetch

    你ajax的data:{name:menuName}
    接口用request.getParameter("name")接收。。
      

  8.   


    因为我后台改成接收Menu对象了,对象里的属性是name。不管是接收对象也好,用HttpServletRequest也好,就是post收不到,改成get就能收到
      

  9.   

    第一种方法ajax的contentType换成dataType:'json',试试
      

  10.   

    data:{menuName:menuName}
      

  11.   

    方法中增加一个参数  String name打印下 name看看
      

  12.   


    是像这样吗?
    post头的数据
    但是后台还是取不到值
      

  13.   

    $.ajax({
    type: 'post',
    url:url,
    dataType:'json', 
    data:{test:1112},类似这种,其他无关的定义去掉
      

  14.   

    使用火狐的poster工具测试各种提交方式
      

  15.   


    别说命名问题了,我改回menuName还不行么……后台也改回用HttpservletRequest
      

  16.   


    不行,后台取不到值方法中加参数打印出来的也是null
      

  17.   

    刚刚又试了一下,如果前台post的是json数据,后台用RequestBody接收的话也能够接收到json字符串
    唯独RequestParam接收不到前台的FormData数据,真是奇怪
      

  18.   

    难道不是你后台默认的就是get方法,加个method=HTTPXXX.post
      

  19.   

    $.ajax({
          data: {"name": meunName}
    })
    给name加上引号试试呢!
      

  20.   

    有点奇怪的是你要规定那个headers,我写aj没有规定过那个东东,一般我会在后台限定post请求或者是get请求,aj这边的请求就要写明是get方式还是post方式,建议你去掉headers。并且一般来说你写成了json的格式,但是你在headers中却写“x-www-form-urlencode”。后台中的的controller,应该是如果不写明以何种方式访问,默认是get,所以你在不声明的情况下默认了get访问,然后你提交post,不知道是不是这个问题。
      

  21.   

    其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理; 
    参考链接
      

  22.   

    25楼正解,如果使用req.getParameter获取POST请求的数据,必须x-www-form-urlencode
      

  23.   

    什么?????楼主基础 也太差了吧,POST连x-www-form-urlencode都不加??建议细心一些!
      

  24.   

    @RequestParam 即url传参你不指定请求类型 默认get请求
    @Requestbody   传json对象不指定请求类型  默认post请求  get请求是没法用@Requestbody 注解的
      

  25.   

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