Jquery ajax调用返回404

Jquery ajax调用返回404,jquery,ajax,spring,spring-mvc,Jquery,Ajax,Spring,Spring Mvc,我正试图将我的表单作为JSON数据提交给控制器,以便进一步处理。我正在使用jquery提交数据,并使用以下代码提交数据: 我的js代码: $(document).ready(function(){ alert('hi'); $("#btn-save").click(function(event) { var data = {} alert($("#name").val());

我正试图将我的表单作为JSON数据提交给控制器,以便进一步处理。我正在使用jquery提交数据,并使用以下代码提交数据:

我的js代码:

    $(document).ready(function(){
        alert('hi');
        $("#btn-save").click(function(event) {
               var data = {}
               alert($("#name").val());
            data["name"] = $("#name").val();
            data["address"] = $("#address").val();
            data["phone"] = $("#phone").val();
            data["zipCode"] = $("#zipCode").val();
            $("#btn-save").prop("disabled", true);
            alert('1'+JSON.stringify(data));
            $.ajax({
                 type: "POST",
                 contentType: "application/json",
                 url: "/saveUser",
                 data: JSON.stringify(data),
                 dataType: 'json',
                 timeout: 600000,
                 success: function (data) {
                    alert('success');
                 },
                 error: function(xhr, status, error){
                     var errorMessage = xhr.status + ': ' + xhr.statusText
                     alert('Error - ' + errorMessage);
                 }
        });
           });
    });
</script>
我甚至尝试使用响应体,并将返回作为void而不是SysUserDto
但当执行进入错误块时,我看到404错误。请帮助

您可以试试这个。假设您的表单id为“uploadForm”

 $(document).ready(function(){
            alert('hi');
            $("#btn-save").click(function(event) {
             event.preventDefault();
             var user= new FormData($('#uploadForm')[0]);        
                $.ajax({
                    contentType : false,
                    processData : false,
                     type: 'POST',
                     url: "/saveUser",
                     data: user,
                     timeout: 600000,
                     success: function (data) {
                        alert('success');
                     },
                     error: function(xhr, status, error){
                         var errorMessage = xhr.status + ': ' + xhr.statusText
                         alert('Error - ' + errorMessage);
                     }
            });
               });
        });
    </script>

ObjectMapper
来自jackson库

控制器类是否有可能未进行组件扫描?您是否可以直接访问saveUser Url(将RequestMethod更改为GET后)?在我尝试访问Url时得到解决[org.springframework.web.HttpRequestMethodNotSupportedException:请求方法'GET'不受支持]
 $(document).ready(function(){
            alert('hi');
            $("#btn-save").click(function(event) {
             event.preventDefault();
             var user= new FormData($('#uploadForm')[0]);        
                $.ajax({
                    contentType : false,
                    processData : false,
                     type: 'POST',
                     url: "/saveUser",
                     data: user,
                     timeout: 600000,
                     success: function (data) {
                        alert('success');
                     },
                     error: function(xhr, status, error){
                         var errorMessage = xhr.status + ': ' + xhr.statusText
                         alert('Error - ' + errorMessage);
                     }
            });
               });
        });
    </script>
@RequestMapping(value = "/saveUser", method = RequestMethod.POST)
public @ResponseBody String saveUser(SysUserDto user) {
    System.out.println("Save code******");
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(user);
    System.out.println(json);
    return json;
}