用jquery.form.js 实现ajax提交含有上传文件和普通字段的表单

时间:2022-11-22 14:42:15

前两天用到ajax提交含上传图片的表单。实现的功能比较简单,但是使用ajax提交表单 form.serialize只能实现普通的字段提交,上传图片却不能使用。

网上很多都是推荐使用jquery.form.js先单独上传图片,返回上传后图片文件名再提交表单。但是我就是需要一起提交,发现jquery.form.js的ajaxSubmit()还挺好用,而且比单独上传图片更简单。


在此贴上代码实现:

js:

$("#ok").click(function() {

$("#gp").ajaxSubmit({
url : "xxx.action?action=saveOrUpdateObject",
type : "post",
dataType : 'json',
success : function(data) {
alert("设置成功!");
},
error : function(data) {
alert("error:" + data.responseText);
}
});
});

大概jsp代码:
<form id="gp" method="post" enctype="multipart/form-data">
<input type="text" name="" id="" />
<input type="file" name="" id="" accept="image/*"/>
<input type="button" id="ok" value="保存" />
</form>