var formData = $("form").serialize();
此方式无法ajax上传文件,正常post数据交互可以,如果加上processData和contentType 正常post数据和上传文件也都无法交互,正常post不能加processData和contentType
var formData = new FormData(document.getElementById("form"));
此方式正常post数据交互 ;可以ajax上传文件单是ajax必须加上 processData和contentType
如下例子:
$.ajax({
url: url,
type: "POST",
data: formData,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function(data){
if( data.code == 200 ){
//后台操作成功
} else {
//后台操作失败
}
}
});