Есть php файл, в нем switch case. По дефолту выводится html форма, при submit этой формы через ajax обращаюсь к этому же php файлу, но с параметром, конструкция switch case перехватывает этот параметр и должна происходить обработка файла. Но массив $_FILES пустой. В чем может быть проблема?
$action = $_POST["action"];
switch ($action):
case "read_file":
if($handle = fopen($_FILES['file']['tmp_name'], 'rb')) {
....
}
break;
default:
?>
<form id="getFile" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="hidden" name="action" value="read_file">
<input type="submit" value="Выполнить" class="js-submit">
</form>
<div class="js-answer"></div>
<script>
$('body').on('submit', '#getFile', function (e) {
e.preventDefault();
$('.js-answer').html('');
var _form = $(this);
$.ajax({
url: 'discount_system.php',
dataType: 'json',
type: 'POST',
data: {
'action': "read_file",
},
error: function (data) {
console.log(data);
},
}).done(function (data) {
$('.js-answer').html(data.html);
_form.find('.js-submit').prop('disabled', false);
});
});
</script>
<?
endswitch;