【问题标题】:Using .post() and enctype="multipart/form-data" form使用 .post() 和 enctype="multipart/form-data" 表单
【发布时间】:2011-12-14 11:58:08
【问题描述】:

如何使用 $.post().serialize() 参与具有 enctype="multipart/form-data" 的表单?

正在阅读对第三位回答者的评论: Making an HTTP POST call with multipart/form-data using jQuery?

这是指什么?我只需要提交它,我并没有尝试在客户端读取文件,但服务器脚本似乎没有正确读取数据。

谢谢。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    【讨论】:

      【解决方案2】:
      $("#frmMember").submit(function(e){
      e.preventDefault();
                              var formData = new FormData($(this)[0]);
                              $.ajax({
                                  url: 'member/api/add',
                                  type: 'POST',
                                  dataType: 'json',
                                  async: false,
                                  cache: false,
                                  contentType: false,
                                  processData: false,
                                  data: formData,
                                  success: function(data){
                                      if(data.status=="OK")
                                      {
                                          alert(data.message);
                                          memberFormWindow.close();
                                      } else {
                                          alert(data.message);
                                      }
                                  }
                              });
                          });
      

      这个作品!试试吧!

      【讨论】:

        【解决方案3】:

        你不能通过 ajax 上传文件。

        您可以尝试使用 iframe、其他方法(如 java 和 flash 上传器)来伪造类似 ajax 的上传。

        【讨论】:

        • 如果你不上传文件,那你为什么需要enctype?如果您尝试上传文件,则不可能。
        • 完全不正确,请查看this article,它为我解决了问题。
        猜你喜欢
        • 2017-05-28
        • 1970-01-01
        • 2012-08-28
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 2014-10-27
        • 2018-01-28
        • 1970-01-01
        相关资源
        最近更新 更多