I'm trying to use Angularjs to send a Post request to My Spring Mvc Controller to login User.But I can't get the Parameter from the request. this is my Angular js code:
 $scope.submit = function () {
    $http({
        url: serviceURL.LoginUrl,
        method: 'POST',
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        data: {
            phone: $scope.userName,
            password: $scope.userPsw,
        }
    }).success(function (data) {
        if (!data.state) {
            alert(data.errorMsg);
        } else {
            alert('success');
        }
        console.log(data);
    }).error(function (data) {
        console.log('服务器错误!');
    });
}
and this is the Spring MVC Controller code:
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public Object loginUser(Model model,User user, HttpSession session, HttpServletRequest request) {
    String phone = request.getParameter("phone");
    String password = request.getParameter("password");
    System.out.println(phone+","+password);
    System.out.println(user.getPhone()+","+user.getPassword());
    UserDTO u = userService.loginUser(phone, password);
    session.setAttribute("loginUser",u.getUser());
    return u;
}
I have searched many resource,they said I should change the header and I have set the header:
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
    response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
    return true;
}
Actually,I can't request the login url,but after I setHeader,I can request the url,but the parameter is null.
Forgive my poor English, I am newbie in StackOverFlow. I didn't konw is it have the same question in here ,but I can find the same question. Thank you for your view.
 
     
    