2016-11-14 1 views
0

У меня такой форме: метод = "пост" ENCTYPE = "многочастному/форм-данных"Отправка многокомпонентные/form-данных с использованием Ajax в PHP является нулевым

Каждый раз, когда форма передается с помощью AJAX

$("#openTicketSubmit").click(function(){ 
    var support_ticket_form_data = new FormData($("#support_ticket_form")); 
    $.ajax({ 
     type: "POST", 
     url: "{$systemurl}submit_ticket.php", 
     data: support_ticket_form_data, 
     contentType: 'multipart/form-data', 
     success: function(results){ 
      console.log(results); 
     }, 
     error(xhr, ajaxOptions, thrownError){ 
      console.log(thrownError); 
     } 
    }); 
}); 

Он получил ошибку: jquery.min.js: 4 Uncaught TypeError: Illegal Призыва , а затем на стороне сервера (PHP) $ _POST равна нулю.

Пожалуйста, помогите мне.

ответ

1

Чтобы выполнить запрос multipart/form-data с помощью jQuery.ajax, contentType и processData необходимо установить значение false.

Также конструктор FormData принимает форму объекта не Jquery один

var support_ticket_form_data = new FormData($("#support_ticket_form")[0]); 
+0

большое спасибо брат! этот вопрос решает проблему: $ ("# support_ticket_form") [0] У меня есть другой вопрос, почему это происходит, когда я повторяю $ SERVER ['REQUEST_METHOD'], он равен нулю? :/ – leprechaun

+0

Вы имеете в виду '$ _SERVER ['REQUEST_METHOD']'? – Musa

+0

Да, я ошибся $ _SERVER в $ SERVER. Спасибо, брат. – leprechaun

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