通过Ajax提交form表单来提交上传文件
Ajax 提交form方式可以将form表单序列化 然后将数据通过data提交至后台,例如:
- $.ajax({
- url : "http://localhost:8080/",
- type : "POST",
- data : $( "#postForm").serialize(),
- success : function(data) {
- },
- error : function(data) {
- }
- });
解决办法:使用 FormData。这里使用jquery 最好使用2.0版本之后 之前应该不支持。例如:
<form id="form">
<P class="p5"><span><i>*</i>商户证书:</span>
<input type="text" name="apiclientType" id="textfield" class="w_txt" >
<input type="button" class="w_btn" value="上传证书" />
<input type="file" name="fileField" class="w_file" id="fileField" size="28" onchange="document.getElementById("textfield").value=this.value" />
</P>
</form>
var formData = new FormData(document.getElementById("form"));//表单id
$.ajax({
url: "${ctx}/wmManage/saveWeixinConfig.do" ,
type: "POST",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (result) {
}
});
附上后台数据接收:
@RequestMapping("/saveWeixinConfig")
@ResponseBody
public ResultMsg saveWeixinConfig(@RequestParam(value = "fileField",required = false)MultipartFile fileField) throws IOException {
return "";
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 文件上传中submit与ajax的问题与思考
- 下一篇: ajaxSubmit提交
