直接使用form表单的submit提交按钮进行表单提交到action,这个是非异步的,不但在action返回时需要刷新页面或跳转至另外一个页面,也不能配置回调函数对返回数据进行某些处理。
其次,如果使用表单的serialize()方法进行ajax提交,则只能传递简单类型数据,但是对于文件类型file是不能传至后台的,网上查找资料后发现FormDate对象。可以异步提交文件并配置回调函数。
代码为:
function doUpload() {
var formData = new FormData($("#uploadForm"));
$.ajax({
url: 'fileOperationAction!upload.action' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
alert(data);
},
error: function (data) {
alert(data);
}
});
}
参考文件:http://yunzhu.iteye.com/blog/2177923