var form = $("#form_id")[0];
var oFile = $("#media").get(0).files[0];
var formData = new FormData(form);
//FormData可以一次性获取form表单的全部内容
formData.append("name","名字"); //追加非form表单的内容
formData.append("media", oFile); //上传文件
console.log(formData.get("name")); //输出需要一个一个的单独获取,而无法使用console.log(formData); 一次性全部输出
$.ajax({
url: "urlAddress",
data:formData,
type: "post",
dataType: "json", //jsonp会把请求类型强制转换为get请求
contentType: false,
//contentType: application/x-www-form-urlencoded(默认) multipart/form-data(用于文件上传) application/json(PHP后台无法使用$_POST接收到数据)
processData: false,
async: true, //异步请求
cache: false, //是否缓存
beforeSend: function() {
// 可添加请求加载等待效果
},
success: function(data) {
// 请求成功
},
error: function(jqXHR, textStatus, errorThrown){
// 请求失败
}
});
网友回复