2016-10-12 5 views
0

Я пытаюсь отправить несколько данных и файлов с помощью jquery ajax (using formData) в php-файл, но я не получаю ничего в php-файле ни $ _POST, ни $ _FILE данных, Я получаю NULL в обоих.php не получает данные от ajax FormData

Вот моя функция ajax.

$('#formulario').submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url:"../phpfile.php", 
     type:"POST", 
     dataType:"JSON", 
     data: new FormData(this), 
     processData: false, 
     contentType: false 
    }).always(function(respuesta){ 
     //code 
    }); 
}); 

Вот мой HTML

<form enctype="multipart/form-data" method="POST"> 
         <div class='row'> 
          <div class='col-xs-12'> 
           <h4>Destinatarios</h4> 
           <select class='form-control' required name='destinatarios[]' title='Selecciona cuantos quieras' multiple data-selected-text-format="count>2" data-live-search="true"> 
            {%for familiar in familia%} 
             <option value='{{familiar.ID_PERSONA}}'>{{familiar.NOMBRE}} {{familiar.APELLIDOS}}</option> 
            {%endfor%} 
           </select> 
          </div> 
          <div class='col-xs-6 hidden'> 
           <h4>Tipo de entrega</h4> 
           <select class='form-control' id='entrega' name='entrega'> 
             <option value='1' selected></option> 
           </select> 
          </div> 
         </div> 
         <br> 
         <div class="row"> 
          <div class="col-xs-12"> 
           <div class="panel panel-default"> 
            <div class="panel-body"> 
             <div class="row"> 
              <div class='col-xs-4 text-center'> 
               <h4>Despues de mi partida</h4> 
               <input type="radio" value="muerte" name="tipoE" onchange="cambioR(this)"> 
              </div> 
              <div class='col-xs-4 text-center'> 
               <h4>En fecha determinada</h4> 
               <input type="radio" value="fecha" name="tipoE" onchange="cambioR(this)"> 
              </div> 
              <div class='col-xs-4 text-center'> 
               <h4>En mi ceremonia de despedida</h4> 
               <input type="radio" value="ceremonia" name="tipoE" onchange="cambioR(this)"> 
              </div> 
             </div> 
             <br> 
             <div class="row"> 
              <div id="f" class="hidden"> 
               <div class="col-xs-12"> 
                <div class="input-group date" id="sandbox-container"> 
                 <span class="input-group-addon">Fecha</span> 
                 <input type="text" class="form-control date" placeholder="dd/mm/yyyy" name="fecha" id="fecha"> 
                </div> 
                <br> 
               </div> 
              </div> 
              <div id="m" class="hidden"> 
               <div class="col-xs-12"> 
                <div class="input-group"> 
                 <span class="input-group-addon">Días después de mi partida</span> 
                 <input class="form-control" id="muerte" name="muerte"> 
                </div> 
                <br> 
               </div> 
              </div> 
             </div> 
            </div> 
           </div> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-xs-12"> 
           <h4>Mensaje</h4> 
           <input class="hidden" id="nombre_mensaje" name="nombre_mensaje"> 
           <textarea class="form-control" rows="10" style="resize: none" id='mensaje' name='mensaje' required></textarea> 
           <br> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-xs-12"> 
           <h4>Imágenes/Video/Audio/Archivos</h4> 
           <div class="grid" id="muestras" dc> 
            <div class="grid-item col-xs-3 deseo" onclick="novoFile(this);"> 
             <img src="../Recursos/imagenes/plus.jpg" width="100%;"> 
             <input class="hidden" type="file" onchange="cambio(this);" name="files[]"> 
             <input class="hidden datas" name="data_multimedia[]" value="0"> 
            </div> 
           </div> 
          </div> 
         </div> 
         <input class="hidden" id="id_mensaje" name="id_mensaje"> 
         <input type="reset" id="reiniciar" hidden> 
        </form> 

Пользователь может загрузить столько файлов, сколько он хочет, и входной файл HTML добавляется dinamicly с помощью JQuery.

+1

Снизить проблему тестового примера, минимальный пример с проблемой. Будет лучше получить ответ, и вы даже можете решить его самостоятельно – sidyll

ответ

0

Попробуйте заменить:

new FormData(this); 

с:

$('#formulario').serialize(); 
+0

, что не поможет при загрузке файлов. вы ДОЛЖНЫ использовать 'FormData' для загрузки ajax. –

+0

Попробуйте этот плагин jQuery для загрузки - http://jquery.malsup.com/form/ – stweb

 Смежные вопросы

  • Нет связанных вопросов^_^