ajax提交表单,上传文件,出现页面跳转,返回的json打印到空白页面上
html:
在页面上隐藏一个<input type="file" name = "uploadFile" οnchange="submitFile"/>,
或者隐藏一个form包括<input type="file" name = "uploadFile" οnchange="submitFile"/>
js:
//打开文件选择框
function selectFile(){
var uploadFile = $("input[name='uploadFile']");
uploadFile.click();
}
//提交文件
function submitFile(){
//没有form可以使用FormData();
var formFile = new FormFata();
var uploadFile = $("input[name='uploadFile']");
formFile.append("file",uploadFile);
//有form
//var formFile = new FormFata(document.forms[0]);
//或者
//var formFile = new FormFata($(".类名"));
$.ajax({
url:"",
data:formFile,
dataType:"json",
cache:false,
processData:false,
contentType:false,
success:function(rtv){
},
error:function(){
}
});
}
注意:有隐藏form表单的情况下,input框onchange事件绑定的函数名不能是submit,否则,表单提交后地址栏URL改变并且跳转到form表单中action路径
没有隐藏form表单,使用FormFata