Не удается получить данные отправки ajax в php [duplicate]

Если вы находитесь в любой ветви, отличной от мастера, вы должны увидеть ссылку на compare :

Нажмите на нее и вы должны перенаправить на инструмент сравнения, где вы можете выбрать ветви или коммиты для сравнения

48
задан Sedat Başar 20 May 2013 в 03:58
поделиться

1 ответ

  1. Нет такой вещи, как xhr.file = file;; файловый объект не должен прикрепляться таким образом.
  2. xhr.send(file) не отправляет файл. Вы должны использовать объект FormData для переноса файла в объект данных post multipart/form-data:
    var formData = new FormData();
    formData.append("thefile", file);
    xhr.send(formData);
    

. После этого к файлу может быть доступ в $_FILES['thefile'] (если вы используете PHP).

Помните, что MDC и демоны Mozilla Hack - ваши лучшие друзья.

EDIT: 2), было неверно. Он отправляет файл, но он будет отправлять его в качестве исходных данных. Это означает, что вам придется анализировать его самостоятельно на сервере (и это часто невозможно, зависит от конфигурации сервера). Читайте, как получить исходные данные в PHP здесь .

83
ответ дан timdream 23 August 2018 в 02:42
поделиться
  • 1
    так много, что помогло мне .. – Sedat Başar 2 June 2011 в 12:48
  • 2
    xhr.send (файл) основан на XHR2, который является новой версией объекта XMLHttpRequest, доступным только в некоторых браузерах. – nkassis 20 April 2012 в 20:19
  • 3
    @nkassis yeah, но он отправил бы сам файл как тело сообщения, вместо того, чтобы создавать многостраничные postdata для анализа сервера. – timdream 22 April 2012 в 19:19
  • 4
    Почему jquery может это сделать, а чистый javascript не может? – John Smith 18 October 2012 в 23:48
  • 5
    Этот метод требует, по крайней мере, IE10 или Android 3.0. – andreszs 5 August 2014 в 16:14
Другие вопросы по тегам:

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