gpt4 book ai didi

javascript - AJAX - 如何从输入文件中获取数据以附加表单数据?

转载 作者:数据小太阳 更新时间:2023-10-29 03:00:42 25 4
gpt4 key购买 nike

你好,我想使用纯 javascript ajax(没有 jquery)来附加表单数据,但我不知道如何从输入文件类型中获取数据

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

关于javascript - AJAX - 如何从输入文件中获取数据以附加表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41379995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com