I am trying to call my spring MVC REST service and it works with a JQuery $.post but not $.ajax.
The javascript shows this 400 error;
1. Failed to load resource: the server responded with a status of 400 (Bad Request) https://s3.amazonaws.com/codiqa-cdn/jquery-1.7.2.min.js
1. sendjquery-1.7.2.min.js:4
2. f.extend.ajaxjquery-1.7.2.min.js:4
3. logIntoCMS:8080/coco/:124
4. onclick


And in spring it gives this error;
DEBUG: org.springframework.web.servlet.mvc.method.annotat ion.ExceptionHandlerExceptionResolver - Resolving exception from handler [public com.company.User com.company.SessionController.login(java.lang.Stri ng,java.lang.String,java.lang.String,java.lang.Str ing,org.springframework.ui.Model)]: org.springframework.web.bind.MissingServletRequest ParameterException: Required String parameter 'password' is not present

In JQuery this code works;
Code:
var paramsData = {password:$('password').val(), authorizationType: $('authorizationType').val()}; $.post(buildURL, paramsData, function(data){ user = data });
But this doesn't;
Code:
 $.ajax({ type: "POST", url: buildURL, data: JSON.stringify({ password: $('#password').val(), authorizationType: $('#authorizationType').val() }), contentType: "application/json; charset=utf-8", dataType: "json", async: false, success: function(data) { user = data; } });
The spring code is the same for both calls;
Code:
 @RequestMapping(value="/{cms}/{username}", method=RequestMethod.POST) public @ResponseBody User login(@PathVariable("cms") String cmsName, @PathVariable("username") String username, @RequestParam("password") String password, @RequestParam("authorizationType") String authorizationType, Model model) {
....it never reaches the first line in the method from the $.ajax call, the $.post works...

The only real difference is I need it to be synchronous to wait on user data so I need $.ajax with async:false. It looks like the data line is wrong in the ajax call. The data comes from an input field and select box both with the IDs above. Every combination I've tried doesn't work.