我有这个简单的形式:
<form id="form">
<ul>
<li><label>Picture</label>
<input id="upload" name="Picture" class="k-textbox" data-bind="value: picture" type="file"/>
</li>
<li>
<label>Name</label>
<input type="text" data-bind="value: name" id="name" class="k-textbox" />
</li>
<li>
<label>Surname</label>
<input type="text" data-bind="value: surname" id="surname" class="k-textbox" />
</li>
</ul>
</form>
和我的视图模型:
var ViewModel = funtion(){
this.picture = ko.observableArray();
this.name = ko.observable();
this.surname = ko.observable():
};
使用敲除var picture
仅包含文件的路径,使用剑道我可以使用以下代码获取文件:
var kendoUpload = $("#upload").kendoUpload({
multiple: false,
});
var files = kendoUpload.data("kendoUpload").getFiles()[0];
我想将我所有的数据发送到 java 控制器。我尝试了更多控制器......这是最后一个三重奏:
@RequestMapping(value = "addUser")
public String addUser(MultipartHttpServletRequest request, @RequestBody User user, @RequestParam("picture") MultipartFile[] uploadFiles)
throws Exception {
return "finish";
}
User 是一个简单的类,具有字符串名称,姓氏;
这是我的ajax调用:
$.ajax({
url : "./user/addUser",
type : "POST",
dataType :'multipart/form-data',
contentType : "application/json",
useProxy: false,
data : data
}).done(function(response) {
console.log(response);
});
发送数据和设置 ajax 调用的正确方法是什么?如何通过淘汰赛的数据绑定而不是通过kendoUpload上传文件?