【问题标题】:AJAX Post to Spring MVC Controller - ErrorAJAX 发布到 Spring MVC 控制器 - 错误
【发布时间】:2012-12-30 19:15:20
【问题描述】:

下面是两个将表单数据发布到 Spring Controller 的 sn-ps。

1.

$("#formData").submit(function(event){ 
            event.preventDefault();
            var jqxhr = $.post("submitdata", $("#formData").serialize(), function(data){ 
                console.log(data); 
            }) 
            .success(function() { 
                // Success
            }) 
            .error(function() {  
                // Error 
            }); 
            jqxhr.complete(function(){ 
                //Ajax Process complete... 
            }); 
        }); 

2.

$("#formData").submit(function(event){ 
            event.preventDefault();
            var request = $.ajax({
                url: "submitdata",
                type: "post",
                data: $("#formData").serialize(),
                cache: false,
                contentType: "multipart/form-data",
                success: function(data){
                    alert(data);
                }
            });
        });

没有。 1 成功发布并显示回复,而 否。 2 返回 404

URL 自动占用上下文路径。我可以从 Inspect Element -> Network 进行验证,并触发写入 URL。

任何人都可以解决什么问题?我解决这个问题的目的是将文件与数据一起发送到服务器。

【问题讨论】:

  • 看起来不错。你能给我们指出一个我们可以看到它的网址吗?从上面很难看出哪里出了问题。

标签: jquery ajax post spring-mvc http-post


【解决方案1】:

您使用了错误的参数contentType。留下application/x-www-form-urlencoded

问题出在您的表单定义中。要将文件发送到服务器,只需使用第一个并将此属性放入<form> 标签:

enctype="multipart/form-data"(见this

例子:

<form action="demo_post_enctype.asp" method="post" enctype="multipart/form-data">
    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
   <input type="submit" value="Submit">
</form>
<script>
    $.post("submitdata", $("#formData").serialize(), function(data){ 
        console.log(data); 
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多