参见英文答案 > Uploading both data and files in one form using Ajax? 7个
Ajax无法发送文件(jpg-png).我无法解决问题.
表格代码
<form action="upload.PHP" method="post" enctype="multipart/form-data">
<label for="img">
<button id="post-img">update</button>
<!-- input hidden !! -->
<input type="file" name="img" id="a-img" style="visibility:hidden">
</label>
AJAX:
$('#a-img').change(function(){
var photo = $('form').serialize();
$.ajax({
url:'upload.PHP',
data: photo,
success:function(data){
alert(data);
}
});
});
if($_FILES){
echo "file ok";
}else{
echo "no file";
}
回调:“没有文件”;
解决方法:
将id frm_send_img添加到表单中.
<form action="upload.PHP" id="frm_send_img" method="post" enctype="multipart/form-data">
<label for="img">
<button id="post-img">update</button>
<!-- input hidden !! -->
<input type="file" name="img" id="a-img" style="visibility:hidden">
</label>
更改脚本如下.
$('#a-img').change(function(){
var photo = new FormData($("#frm_send_img")[0]);
$.ajax({
url: "upload.PHP",
type: "POST",
data: photo,
async: false,
success: function (msg) {
alert(msg)
},
cache: false,
contentType: false,
processData: false
});
e.preventDefault();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。