MasterGerold
@MasterGerold

Почему файлы не загружаются на сервер посредством AJAX?

Доброго времени суток! Использую на сайте Dropzone.js для загрузки файлов, всё работает отлично, файлы грузятся. Я написал свой (нашел в интернете код) js для загрузки файлов по Ajax но файлы не попадают на сервер.
Вот код js. Мне кажется что Dropzone.js передаёт ещё что то в заголовках. Вот код ответа от сервера (Content-Type выставил я, думал поможет).
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.9,ru;q=0.8,bg;q=0.7,uk;q=0.6
Connection:keep-alive
Content-Length:55393
Content-Type:multipart/form-data
Cookie: куча всего
Host:art.silent-storm.in
Origin:http://art.silent-storm.in
Referer:http://art.silent-storm.in/blog
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
X-CSRF-Token: тут токен
X-FILE-NAME:3597497k.jpg

Подскажите что это может быть? Почему файлы не попадают на сервер?
P.S. Проверял массив $_FILES, при загрузке с помощью Dropzone.js, массив с файлом, а вот с помощью самописного скрипта массив пустой.
Заранее спасибо за ответы!
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Вы отдаете заголовок xhr.setRequestHeader('Content-Type', 'multipart/form-data')
а отдаете просто файл
Так понимаю на сервере php, так что буду основываться на этом, хоть и не помню его толком
вариант 1: оборачивать файл в FormData и отправлять его, читаем про него тут https://developer.mozilla.org/ru/docs/Web/API/FormData
вариант 2: если отдаем как есть, то читаем файл из php://input если передавать только файл, там будет только он
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы