用FormData对象提交。注意IE只有版本10以上支持。
FormData对象怎么来呢,有两种方法。
方法一:表单就是FormData
HTML代码:
JS代码:
var formElement = document.getElementById("fileform");
//jQuery可以像这样:
//var formElememt = $("#fileform")[0];
var formData = new FormData(formElement);
方法二:自己构造
HTML代码:
JS代码:
var fileInput = document. getElementById("file");
//用jQuery可以这样:
//var fileInput=$("#file")[0];
var file = fileInput.files[0]; //获得File对象(也就是你那个filemeta),这里文件是单选的,如果是多选的需要遍历fileInput.files属性来获取每一个文件
var formData = new FormData();
formData.append("file", file); //FormData对象的append方法第一个参数相当于input的name属性,第二个参数就是value,可以是File对象
用jQuery发送请求
$.ajax({
type: "POST", //必须POST
url: "http://example.com", //接收请求的URL
processData: false, //必须设置
contentType: false, //必须设置
data: formData //直接把formData对象作为data属性的值发送
//其他参数参数自行设置
})
参考
MDN是个好东西,要学会用