У меня проблема с моим файлом ajax для отправки. Похоже, что ничего не передано (ни переменные, ни файлы) в принимающий файл php.
Это моя форма:
<form id="ProtocolForm" enctype="multipart/form-data" method="post">
<input name="ProtocolName" type="hidden" value="sdfsdf">
<input name="ProtocolType" type="hidden" value="Image">
<input name="name_major" id="name_major" type="text">
<input name="name_minor" id="name_minor" type="text">
<input name="creator" id="creator" type="text">
<input name="File" class="File" id="File" type="file">
<input id="Submit" type="submit" value="Save Protocol">
</form>
Это мой код JS:
$(document).on( "submit", "#ProtocolForm", function( event ) {
event.preventDefault();
var form = $('form')[0];
var formData = new FormData(form)
$.ajax({
url: "_save_protocol.php",
type: "POST",
data: formData,
contentType: false,
cache: false,
processData:false,
beforeSend : function()
{
alert('before send:' + $('form').serialize());
},
success: function(data)
{
if(data=='invalid')
{
alert('Invalid file');
}
else
{
alert('Response:' + data);
}
},
error: function(e)
{
alert('Error '+ e);
}
});
});
Когда форма отправляется с предупреждением, я вижу все переменные, сериализованные в функции beforeSend. Однако, когда я пытаюсь получить доступ к переменным в файле php, они все пустые. $ _POST пусто, как и $ _FILES. Что мне не хватает? Любая помощь будет принята с благодарностью. Спасибо!