温馨提示:本文翻译自stackoverflow.com,查看原文请点击:jquery - Not able to upload file with form seriliaze in ajax
jquery codeigniter

jquery - 无法在Ajax中上传带有表单Seriliaze的文件

发布于 2020-03-27 11:56:43

我正在尝试提交带有文件上传的表单,但是数据被插入到表中,但是对于文件,我遇到的错误提示

Message: Undefined index: user_file

下面是我的代码。

HTML:

 <form id="create" method="post" action="" enctype="multipart/form-data" class="form-horizontal form-label-left">
<input type="text">
....
<input type="file" name="user_file" id="user_file"/>
<button type="submit" class="btn btn-primary" name="save" id="save">Save</button>

JS:

$("#create").submit(function(e) {

e.preventDefault(); 

var form = $(this);
.ajax({
       type: "POST",
       url: url,
       data: form.serialize(), 
      success: function(data)
       {
        if(data.status === 'success')
        { 
          //success
        } 
        else 
        { 
          //error
        }
        $("#create")[0].reset();
       }
     });
 });

我尝试了现有的在线方法,但无法解决此问题。

提前致谢。

编辑: 建议的解决方案无法解决我的问题,因为仅当文件输入是存在其他输入类型的表单的一部分时,我才面临此问题。

但是,建议的解决方案只有输入类型文件,而这不是我的问题。

查看更多

查看更多

提问者
Krish
被浏览
28
Gaurang Ghinaiya 2019-07-04 16:58

你可以试试看

$("#create").submit(function(e) {

    e.preventDefault(); 

    var form = $(this);
    .ajax({
           type: "POST",
           url: url,
           data: new FormData(this), 
           processData: false,
           contentType: false,
          success: function(data)
           {
            if(data.status === 'success')
            { 
              //success
            } 
            else 
            { 
              //error
            }
            $("#create")[0].reset();
           }
         });
     });