以下是将表单数据发布到Spring Controller的两个片段。
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验证 - >网络和写入URL被触发。
有人可以解决的问题是什么?我的目标是将文件和数据一起发送到服务器。
答案 0 :(得分:0)
您使用错误的参数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>