springmvc获取axios数据为null状况

    场景:前端用了vue没有用ajax与后台通讯,用了axios,可是在代码运行过程当中发现axios传递到后台的值接受到数据为null。前端

    问题缘由:此处的问题在与axios返回给后台的数据为json类型的,后台接收和返回也应该是json类型的才行。vue

    解决方式:这里用的是@ResquestBody和@ReponseBody这两个注解来解决的。以下图代码使用@RequestBody Map map去获取前台传递过来的数据,而后返回给前端的数据也必须为json格式,这时候须要在方法上方加一个@ReponseBody注解。或者在类的上用@RestController代替@Controller注解也有相同的效果。node

public String toMainPage(@RequestBody Map map, HttpServletRequest request) throws Exception {
    String username = (String) map.get("username");
    String password = (String) map.get("password");
    String flag = (String) map.get("flag");
    ModelAndView mv = new ModelAndView();
    HttpSession session = request.getSession();
    String getPassword = null;
    if("0".equals(flag)){//登陆用户为管理员的状况
        getPassword = this.userSystemService.getSSystemByUsername(username,password);
    }else{//普通用户登陆
        getPassword = this.userSystemService.getUserByUsername(username,password);
    }
    if(!"".equals(getPassword) && getPassword != null){//用户名密码都正确的状况下将用户的数据放入session
        session.setAttribute("loginName",username);//登陆用户名
        session.setAttribute("flag",flag);//登陆角色类型
    }
    return getPassword;
}

    axios方法讲解:因为也是第一次使用axios像后台传递数据,这里只写出我的的使用感悟,若是有不对的地方但愿指正。axios和ajax的使用很类似,下面的例子是一个post请求,而then就至关于ajax中的success,catch则至关于error。post里面的“/judgeUser”为请求地址,后面的为须要传递给后台的数据。ios

    axios引入说明,axios引入有两种方法。一种是:若是项目中使用了node的话经过node的方式引入,这边本项目没有使用node,在这里不对这种方式作讲解。本项目经过第二种方式:以js文件的形式引入的。ajax

<script src="https://unpkg.com/axios/dist/axios.min.js">

或者也能够登如上面的地址将内容复制下来而后放在axios.min.js文件来引入json

<script src="/resources/js/axios.min.js"></script>
axios.post('/judgeUser', {
        username : username,
        password : password,
        flag : flag,
    })
        .then(function (res) {
            if(res.data == "1") {
                if(flag == "0") {//管理员登陆
                    location.href = "/toMain";
                }else {//普通人员登陆
                    location.href = "/toMain";
                }
            }else {
                alert("用户名或者密码不正确");
            }
        })
        .catch(function (err) {
            alert("验证失败,用户名或者密码不正确");
        });
相关文章
相关标签/搜索