2015-08-26 2 views
0

Я не могу отправить файлы в PHP AJAX запрос:Невозможно отправить файлы в PHP AJAX запрос

Форма:

<form class="frmContact" action="#" method="post"> 
        <div class="col-md-6"> 
        <input type="hidden" name="emailTo" id="emailTo" value="[email protected]">  
        <input type="text" placeholder="Name" name="txtName" id="txtName"> 
        <input type="email" placeholder="Email" name="txtEmail" id="txtEmail"> 
        <input type="text" placeholder="Subject" name="txtSubject" id="txtSubject"> 

        <input type="file" placeholder="Text File" name="txtFile" id="txtFile" /> 

        </div> 
        <div class="col-md-6"> 
        <textarea placeholder="Message" cols="40" rows="10" name="txtText" id="txtText"></textarea> 
        <button class="btnSend" type="button">Send Your Message</button> 
        <span id="spanMessage"></span> 
        </div> 
       </form> 

Ajax код:

$.ajax({ 
     url: "includes/mail.php", // Url to which the request is send 
     type: "POST",    // Type of request to be send, called as method 
     data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values) 
     contentType: false,  // The content type used when sending data to the server. 
     cache: false,    // To unable request pages to be cached 
     processData:false,  // To send DOMDocument or non processed data file it is set to false 
     success: function(data) // A function to be called if request succeeds 
     { 
     console.log(data); 
     } 
     }); 

PHP код:

echo '<pre>'; print_r($_REQUEST); print_r($_FILES); die; 

Консоль Результат:

Array 
(
) 

Array 
(
) 

Использование JQuery JQuery v1.11.2

Не могли бы вы помочь мне отлаживать ошибку?

+4

Итак, где именно вы отправляете файлы на сервер? –

+0

@TobiasKun Я не могу читать файлы. Получение пустых $ _FILES –

+0

Почему бы вам не использовать: data: $ (form) .serialize() вместо данных: new FormData (this)? –

ответ

2

Вы забыли enctype="multipart/form-data". Пожалуйста, добавьте это в форму:

<form class="frmContact" action="#" method="post" enctype="multipart/form-data"> 
+0

Не работал с этим –

+0

@ KunwarbirS. Любые ошибки в консоли? –

+0

Ошибка в консоли –

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