PHP Ajax文件上传不起作用
问题出现的原因是在使用ajax上传文件时,需要使用FormData()
而不是serialize
。解决方法是将文件数据添加到FormData对象中,并将contentType和processData设置为false。
代码示例:
var file_data = $('#InputFile').prop('files')[0]; var form_data = new FormData(); form_data.append('file', file_data); $.ajax({ url : 'addad.php', dataType : 'text', cache : false, contentType : false, processData : false, data : form_data, type : 'post', success : function(output){ alert(output); } });
链接:工作示例
另外,还有一种解决方法是将表单中的提交按钮的类型从submit
改为button
。
代码示例:
<button type="button" id="submitad" class="btn btn-primary">add</button>