Не удалось загрузить файл с формой seriliaze в ajax - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь отправить форму с загрузкой файла, но данные вставляются в таблицу, но с файлом, с которым я сталкиваюсь, говорится:

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();
       }
     });
 });

Я пробовал существующий онлайн, но не смог решить эту проблему.

Заранее спасибо.

Редактировать: Предложенное решение не решило мою проблему, поскольку я сталкиваюсь с этой проблемой только тогда, когда ввод файла является частью формы, где присутствуют другие типы ввода.

Однако предлагаемое решение имеет только тип файла ввода, и это не моя проблема.

1 Ответ

0 голосов
/ 04 июля 2019

Вы можете попробовать это.

$("#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();
           }
         });
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...