JavaScript 结合 jQuery 实现异步文件上传

作者:拾光

时间:2026-10-22

浏览:563

本文介绍使用 JavaScript 和 jQuery 实现文件异步上传的完整代码。通过监听文件选择事件,利用 FormData 对象封装文件数据,并借助 XMLHttpRequest 发送 POST 请求,完成图片文件的无刷新上传处理。

文章目录

HTML 表单结构

HTML 部分构建上传表单,设置 enctype 为 multipart/form-data 以支持文件传输,指定提交地址和方法,并包含一个接受图片类型的文件输入控件。


<form action="url" enctype="multipart/form-data" id="myform" method="post">
    <input accept="image/*" id="addfile" type="file" />
</form> 

JavaScript 异步上传逻辑

jQuery 代码监听文件输入框的 change 事件。当用户选择文件后,获取文件对象并创建 FormData 实例,将表单数据及选中的文件追加到 FormData 中。随后初始化 XMLHttpRequest 对象,绑定加载完成和错误处理回调,配置 POST 请求并发送数据。


$("#addfile").on('change', function () {
  var f = $(this).get(0).files[0];
  var form = document.getElementById('myform');
  var formData = new FormData(form);
  formData.append('Filedata', f);
  var xhr = new XMLHttpRequest();
  xhr.addEventListener("load", uploadComplete, false);
  xhr.addEventListener("error", uploadFailed, false);
  xhr.open('POST', form.action);
  xhr.send(formData);
});
function uploadComplete(evt)
{
  var data=evt.target.responseText
}
function uploadFailed()
{
  alert("上传失败!请重试!"); 
}

上述内容展示了 JavaScript 异步上传图片文件的具体实现方式,旨在提供实用的代码参考。若读者在使用过程中遇到疑问,欢迎留言交流,作者将及时回复。感谢对本站的支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章