发布于 1970-01-01 08:00
  • 1 个回答
    • 用FormData对象提交。注意IE只有版本10以上支持。

      FormData对象怎么来呢,有两种方法。

      方法一:表单就是FormData

      HTML代码:

      <form id="fileform">
          <input type="file" name="file">
      </form>
      

      JS代码:

      var formElement = document.getElementById("fileform");
      //jQuery可以像这样:
      //var formElememt = $("#fileform")[0];
      var formData = new FormData(formElement);
      

      方法二:自己构造

      HTML代码:

      <input type="file" id="file">
      

      JS代码:

      var fileInput = document. getElementById("file");
      //用jQuery可以这样:
      //var fileInput=$("#file")[0];
      var file = fileInput.files[0];    //获得File对象(也就是你那个filemeta),这里文件是单选的,如果是多选的需要遍历fileInput.files属性来获取每一个文件
      var formData = new FormData();
      formData.append("file", file);    //FormData对象的append方法第一个参数相当于input的name属性,第二个参数就是value,可以是File对象
      

      用jQuery发送请求

      $.ajax({
          type: "POST",    //必须POST
          url: "http://example.com",    //接收请求的URL
          processData: false,    //必须设置
          contentType: false,    //必须设置
          data: formData    //直接把formData对象作为data属性的值发送
          //其他参数参数自行设置
      })
      

      参考

      MDN是个好东西,要学会用

      https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Objects

      2022-12-01 01:03 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有