需要的是用form上传文件的话可以用新创建的一个对象是FormData,可以直接将form表单里面的东西全部上传 注意:js中的contentType和processData必须要设置的
html:
<form id="myform">
<input type="password" name="pass"/>
<input type="file" name="file"/>
<button id="go">提交</button>
</form>
js
$("#go").click(function(){
fileSubmit();
});
function fileSubmit(){
var form=new FormData($(".myform")[0]);
$.ajax({
url:'xxx.php',
type:'POST',
data:form,
cache:false,
contentType:false,
//
告诉jQuery不要去设置Content-Type请求头
processData:false,
//
告诉jQuery不要去处理发送的数据
success:function(data){
console.log(data);
},
error:function(data){
console.log(data);
}
})
};
FormData有一个append方法可以向对象中添加键值对
form.append("key","value");
这段代码只适用于兼容html5的浏览器