在form表单提交中并没有提供一个可以获取后端返回值的方式,所以只好使用jquery中的ajax方法提交,获取后台返回值信息。下面给出事例:
html:
<form id="uploadForm" enctype='multipart/form-data'>
<input type="file" id="files" name="file"/>
</form>
<button id="submit">提交</button> //这里注意不能写在form表单内部
js
$("#submit").click(function(){
$.ajax({
url:"http://120.78.164.247:8099/manager/file/upload",
method:"post",
cache: false,
data:new FormData($('#uploadForm')[0]),
contentType: false,
processData: false,
dataType:"json",
success:function(data){
alert('success');
console.log(data);
},
error:function(data){
alert(data,'error');
}
})
})
参数说明:
-
processData
(默认: true) 默认情况下,通过data选项传递进来的数据,如果 (默认: true) 默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。 -
contentType
默认值: “application/x-www-form-urlencoded”。发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。