[英]Php not see data from javascript ajax FormData (input type file )
[英]AJAX - How to get data from input file to append formdata?
您好,我想使用纯JavaScript Ajax(无jquery)追加formdata,但是我不知道如何从输入文件类型获取数据
function handleForm(e)
{
e.preventDefault();
var username = document.getElementById('username').value;
var email = document.getElementById('email').value;
var data = new FormData();
data.append('username', username);
data.append('email', email);
data.append('file', ?????); ////// How to get data from input file
var xhr = new XMLHttpRequest();
xhr.open('POST', 'test2.php', true);
xhr.onload = function(e) {
if(this.status == 200) {
console.log(e.currentTarget.responseText);
alert(e.currentTarget.responseText + ' items uploaded.');
}
}
xhr.send(data);
}
...
Username: <input type="text" name="username" id="username"><br/>
Email: <input type="text" name="email" id="email"><br/>
Image: <input type="file" name="file" id="myimg"><br/>
<input type="submit">
</form>
<input type="file" />
HTML元素具有files
属性(类型FileList
)。
检查长度是否已选择文件,如果已选择,则将文件添加到FormData
对象
var fileInput = document.getElementById("myimg");
if (fileInput.files.length > 0) {
data.append("file", fileInput.files[0]);
}
有关如何使用FormData
对象的更多示例,请检查以下链接: https : //developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
document.getElementById("file_input_id").files[0]
尝试
<input type="file" id="fileinput" />
获取文件..您可以使用
var myFile = $('#fileinput').prop('files')[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.