Intereting Posts

$ _POST и $ _FILES пустые после загрузки файла AJAX

Я новичок в веб-разработке, и последняя проблема, с которой я столкнулся, – это загрузка файла ajax

Прямо сейчас у меня есть два поля ввода HTML; ввод файла и кнопка.

<input type="file" name="Frame" id="Frame_"/> <input type="button" name="FrameButton" id="FrameButton_" value="UPLOAD"/> 

После нажатия кнопки я вызываю функцию, которая имеет следующий код.

Когда я var_dump () массив $ _POST и $ _FILES, он показывает оба массива как пустые. Это несмотря на «Запрос полезной нагрузки» в чтении Chrome Dev

Content-Disposition: form-data; Name = "кадр"; имя файла = "GoldFrame.jpg"

Content-Type: image / jpeg

В котором у меня создается впечатление, что это означает, что информация файла, который я выбираю на лицевой стороне, успешно «отправляется» в файл handler.php. Это неправильная интерпретация?

В любом случае, может кто-нибудь, пожалуйста, дать мне ответ на мою проблему? Или, по крайней мере, укажите ресурс, который может иметь мой ответ? Кажется, что есть много похожих вопросов по тем же направлениям, но я не видел одного, у которого есть твердый ответ.

Я использовал iframe для такого рода вещей в прошлом, но это похоже на действительно взломанный метод, и я хотел бы иметь гибкость для использования ajax для этой задачи в будущем.

Помощь приветствуется.

Related of "$ _POST и $ _FILES пустые после загрузки файла AJAX"

Попробуй это.

Форма (index.html)

 <form id="uploadForm"> <input type="file" name="frame" /> <input type="submit" value="UPLOAD" /> </form> 

Скрипт (script.js)

 $("#uploadForm").on('submit',(function(e) { e.preventDefault(); $.ajax({ url: "handler.php", type: "POST", data: new FormData(this), contentType: false, cache: false, processData: false, success: function(data){ console.log(data); } }); })); 

Сторона сервера (handler.php)

 <?php var_dump($_FILES); 

Вы var_dump () – ваши массивы $ _FILES / $ _ POST в файле handler.php?

Если вы пытаетесь сбрасывать эти переменные в файле с вызовом ajax, это не сработает, потому что AJAX делает внешний интерфейс, а переменные files / post являются переменными на стороне сервера … что означает только обработчик .php будет иметь эти переменные.

Попробуйте добавить вызов var_dump () в handler.php и вывод, который приведет к вызову ajax, и я надеюсь, что вы увидите результаты, которые вы ищете.