首页 > web前端 > js教程 > 如何使用FormData使用拖放实现AJAX文件上传?

如何使用FormData使用拖放实现AJAX文件上传?

Barbara Streisand
发布: 2024-12-18 20:37:11
原创
606 人浏览过

How to Implement AJAX File Upload with FormData Using Drag and Drop?

使用 FormData 进行 AJAX 文件上传

问题:

使用 FormData 进行文件上传使用拖放生成动态 HTML 的 AJAX 请求

HTML 代码:

<form>
登录后复制

JavaScript 代码:

$('.wpc_contact').submit(function(event) {
  var form = $('.wpc_contact').serialize();
  var formname = $('.wpc_contact').attr('name');
  var FormData = new FormData($(form)[1]);

  $.ajax({
    url: '<?php echo plugins_url(); ?>/wpc-contact-form/resources/js/tinymce.php',
    data: { form: form, formname: formname, FormData: FormData },
    type: 'POST',
    processData: false,
    contentType: false,
    success: function(data) {
      alert(data);
    }
  });
});
登录后复制

解决方案:

要正确使用 FormData,请遵循以下步骤步骤:

1.准备工作:

  • 使用标准 JavaScript 对象“form”将整个表单传递给 FormData():

    var form = $('form')[0];
    var formData = new FormData(form);
    登录后复制
  • 或者,指定特定数据FormData():

    var formData = new FormData();
    formData.append('file', $('input[type=file]')[0].files[0]);
    登录后复制

2.发送表单:

使用带有以下选项的 jQuery AJAX 请求:

$.ajax({
  url: 'Your url here',
  data: formData,
  type: 'POST',
  contentType: false, // Required
  processData: false, // Required
  // ... Other options like success, etc.
});
登录后复制

注意:

  • 键入“POST " 在选项中是必要的,因为所有文件都必须通过 POST 发送request.
  • contentType: false 仅在 jQuery 版本 1.6 及更高版本中可用。

以上是如何使用FormData使用拖放实现AJAX文件上传?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板