我在访问文件上传字段时遇到问题
//HTML
<input type='file' name='images' id="images" multiple>
//////////////////
$('.bt-add-com').click(function(){
var formdata = new FormData();
var sessionID = 8;
var theCom = $('.the-new-com');
var theName = $('#name-com');
var theMail = $('#mail-com');
var theFile = formdata.append("images", sessionID);
if( !theCom.val()){
alert('You need to write a comment!');
}else{
$.ajax({
type: "POST",
url: "ajax/add-comment.php",
data: 'act=add-com&id_post='+<?php echo $id_post; ?>+'&name='+theName.val()+'&email='+theMail.val()+'&comment='+theCom.val()+'&file='+formdata.append("images[]", sessionID),
success: function(html){
theCom.val('');
theMail.val('');
theName.val('');
$('.new-com-cnt').hide('fast', function(){
$('.new-com-bt').show('fast');
$('.new-com-bt').before(html);
})
}
});
}
});
////RESULT
array (size=6)
'file' => string 'undefined' (length=9)
问题是当我使用formdata访问文件上传字段时,如下面的代码。它显示未定义的值。无法上传文件详情
答案 0 :(得分:0)
您正在获取表单数据对象并将其附加到字符串。那不行。
不要尝试构建一个字符串以传递给data
,使用FormData API来所有你的字段,然后传递FormData对象本身。
您还需要从输入而不是数字8
附加文件数据。
formdata.append("images", sessionID);
formdata.append("images[]", sessionID)
请勿使用images
和images[]
。如果您使用的是PHP,那么只使用images[]
请勿使用sessionID
,请使用该文件。
formdata.append("images[]", document.getElementById('images').files[0]);