j***@126.com
j***@126.com
  • 发布:2016-11-22 10:44
  • 更新:2018-07-27 16:51
  • 阅读:2878

Java springmvc如何接受mui ajax的参数?

分类:MUI

前端:

function login(){  
            debugger;  
            var username = $("#username").val();  
            var pwd = $("#pwd").val();  
            console.log(username+"%%%"+pwd);  
            var data = {  
                username: username,  
                pwd: pwd,  
                type:'1'  
            };  
            mui.ajax(  
                'http://192.168.1.120:8080/wjcs/sys/login/loginApp.do',{  
                data: data,  
                dataType:'json',//服务器返回json格式数据  
                type:'post',//HTTP请求类型  
                timeout:10000,//超时时间设置为10秒;  
                headers:{'Content-Type':'application/json'},                    
                success:function(data){  
                    //服务器返回响应,根据响应结果,分析是否登录成功;  
                    debugger;  

                },  
                error:function(xhr,type,errorThrown){  
                    //异常处理;  
                    console.log(type);  
                }  
            });  
        }

后台:

@RequestMapping(value = "/loginApp", method = RequestMethod.POST)  
    @ResponseBody  
    public Msg login(@RequestParam String username, @RequestParam String pwd, @RequestParam String type, HttpServletRequest request) {  
        boolean rememberMe = false;  
        System.out.println("username----->"+username+"&pwd----->"+pwd);  
}

打印后台参数全部为null~~~~

2016-11-22 10:44 负责人:无 分享
已邀请:
还是磊哥

还是磊哥

headers:{'Content-Type':'application/json'}, //这个是坑。去掉
别问为什么,因为我刚从坑里爬出来

  • 然后的然

    orz,卡了我半天了,终于出坑了

    2017-05-12 15:03

4***@qq.com

4***@qq.com

application/x-www-form-urlencoded是以表格的形式请求,而application/json则将数据序列化后才进行传递,如果使用了@RequestParam会在Content里面查找对应的数据,结果因为传递的数据已经被序列化所以不能找到,所以当要使用@RequestParam注解时候应当使用application/x-www-form-urlencoded,而如果想要使用application/json则应当使用@RequestBody获取被序列化的参数

Trust

Trust - 少说废话

与前端用什么传无关,检查下是不是注解使用的不恰当,另外接收的参数未指定key。参考下

@RequestMapping(value = "/loginApp")  
public @ResponseBody Msg login(  
    @RequestParam(value = "username", required = true) String username  
){  
    //TODO  
}
  • j***@126.com (作者)

    不好使……

    2016-11-22 11:12

  • Trust

    回复 j***@126.com:检查下后端的配置,我这边是没问题的。debug一下,看前端是否请求到你的接口地址了。

    2016-11-22 11:37

该问题目前已经被锁定, 无法添加新回复