Formdata append не работает

FormData.append («ключ», «значение») не работает

Вы можете сказать мне, что с этим не так:

Мои результаты выглядят так: я не могу найти свою пару «ключ» — «значение»

Я не понимаю! Вчера это работало так хорошо, а сегодня у меня столько раз разбилась голова по клавиатуре! Firefox, Chrome, оба одинаковые: /

Новое в Chrome 50+ и Firefox 39+ (соответственно 44+):

  • formdata.entries() (в сочетании с Array.from() отладкой)
  • formdata.get(key)
  • и еще очень полезные методы

Оригинальный ответ:

Что я обычно делаю для «отладки» FormData объекта, так это просто отправляю его (куда угодно!) И проверяю журналы браузера (например, вкладка «Сеть» в Chrome devtools).

Вам не нужен / тот же фреймворк Ajax. Вам не нужны подробности. Просто отправьте это:

Вы говорите, что это не работает. Чего вы ожидаете?

Нет способа получить данные из FormData объекта; он просто предназначен для использования вами для отправки данных вместе с XMLHttpRequest объектом (для send метода).

Обновите почти пять лет спустя: в некоторых новых браузерах это больше не так, и теперь вы можете видеть предоставленные данные FormData в дополнение к тому, что они просто загружаются в них. См. Принятый ответ для получения дополнительной информации.

Возможно, у вас была та же проблема, что и у меня изначально. Я пытался использовать FormData, чтобы получить все мои входные файлы для загрузки изображения, но в то же время я хотел добавить идентификатор сеанса к информации, передаваемой на сервер. Все это время я думал, что добавив информацию, вы сможете увидеть ее на сервере, обратившись к объекту. Я ошибался. Когда вы добавляете данные к FormData, способ проверки добавленной информации на сервере — это простой $_POST[‘*your appended data*’] запрос. вот так:

Источник

FormData.append(«key», «value») is not working

Can you tell me whats wrong with this:

My output looks like this, I cant find my «key» — «value» pair

I can’t understand! Yesterday it worked so well, and today my head crashed the keyboard so many times! Firefox, Chrome, both the same :/

8 Answers 8

New in Chrome 50+ and Firefox 39+ (resp. 44+):

  • formdata.entries() (combine with Array.from() for debugability)
  • formdata.get(key)
  • and more very useful methods

Original answer:

What I usually do to ‘debug’ a FormData object, is just send it (anywhere!) and check the browser logs (eg. Chrome devtools’ Network tab).

You don’t need a/the same Ajax framework. You don’t need any details. Just send it:

You say it’s not working. What are you expecting to happen?

There’s no way of getting the data out of a FormData object; it’s just intended for you to use to send data along with an XMLHttpRequest object (for the send method).

Update almost five years later: In some newer browsers, this is no longer true and you can now see the data provided to FormData in addition to just stuffing data into it. See the accepted answer for more info.

You might have been having the same problem I was initially having. I was trying to use FormData to grab all my input files to upload an image, but at the same time I wanted to append a session ID to the information passed along to the server. All this time, I thought by appending the information, you would be able to see it in the server by accessing the object. I was wrong. When you append to FormData, the way to check the appended information on the server is by a simple $_POST[‘*your appended data*’] query. like so:

Источник

FormData.append («ключ», «значение») не работает

Можете ли вы сказать мне, что не так с этим:

Мой вывод выглядит так, я не могу найти свою пару «ключ» — «значение»

Я не могу понять! Вчера это работало так хорошо, а сегодня моя голова ломала клавиатуру столько раз! Firefox, Chrome, оба одинаковые: /

7 ответов

Новое в Chrome 50+ и Firefox 39+ (соответственно, 44+):

  • formdata.entries() (в сочетании с Array.from() для отладки)
  • formdata.get(key)
  • и еще очень полезные методы

Исходный ответ:

Что я обычно делаю для «отладки» объекта FormData , просто отправляю его (куда угодно!) И проверяю журналы браузера (например, вкладка «Сеть» Chrome devtools).

Вам не нужен один и тот же Ajax-фреймворк. Вам не нужны никакие детали. Просто отправьте это:

Возможно, у вас была та же проблема, что и у меня изначально. Я пытался использовать FormData, чтобы получить все свои входные файлы для загрузки изображения, но в то же время я хотел добавить идентификатор сеанса к информации, передаваемой на сервер. Все это время, подумал я, добавляя информацию, вы сможете увидеть ее на сервере, получив доступ к объекту. Я был неправ. При добавлении в FormData способ проверки добавленной информации на сервере заключается в простом запросе $_POST[‘*your appended data*’] . вот так:

В моем случае в браузере Edge:

Дай мне ту же ошибку

Так что я не использую FormData и просто создаю объект вручную

Реактивная версия

Убедитесь, что у вас есть заголовок с ‘content-type’: ‘multipart/form-data’

Посмотреть

Ты можешь видеть это вам нужно использовать console.log(formData.getAll(‘your key’)) ; Смотри https://developer.mozilla.org/en-US/docs / Web / API / FormData / GETALL

Если вы находитесь в Chrome, вы можете проверить почтовые данные

Вот как проверить почтовые данные

  1. Перейти на вкладку «Сеть»
  2. Найдите ссылку, по которой вы отправляете данные поста.
  3. Нажмите здесь
  4. В Заголовках вы можете проверить Запрос полезной нагрузки, чтобы проверить данные поста.

данные формы не отображаются в консоли веб-браузера

Источник

FormData.append( «ключ», «значение» ) не работает

Можете ли вы сказать мне, что с этим не так:

Мой вывод выглядит так, я не могу найти свою пару «ключ» — «значение»

Я не понимаю! Вчера это сработало так хорошо, и сегодня моя голова разбила клавиатуру так много раз! Firefox, Chrome, оба одинаковые:/

ОТВЕТЫ

Ответ 1

Новое в Chrome 50+ и Firefox 39+ (соответственно 44 +):

  • formdata.entries() (объединяйтесь с Array.from() для отладки)
  • formdata.get(key)
  • и более полезные методы

Оригинальный ответ:

То, что я обычно делаю, чтобы «отлаживать» объект FormData , просто отправить его (в любом месте!) и проверить журналы браузера (например, вкладку «Сеть Chrome devtools» ).

Вам не нужна такая же Ajax-структура. Вам не нужны детали. Просто отправьте его:

Ответ 2

Вы говорите, что это не работает. Что вы ожидаете?

Нет способа получить данные из объекта FormData ; он просто предназначен для использования для отправки данных вместе с объектом XMLHttpRequest (для метода send ).

Обновление почти пять лет спустя: В некоторых новых браузеров, это уже не правда, и теперь вы можете увидеть данные, предоставленные FormData в дополнение к только начинку в него данные. См. принятый ответ для получения дополнительной информации.

Ответ 3

Возможно, у вас была такая же проблема, с которой я изначально был. Я пытался использовать FormData для захвата всех моих входных файлов для загрузки изображения, но в то же время я хотел добавить идентификатор сеанса к информации, переданной на сервер. Все это время, я думал, добавив эту информацию, вы сможете увидеть ее на сервере, обратившись к объекту. Я был неправ. Когда вы добавляете в FormData, способ проверить добавленную информацию на сервере — это простой запрос $_POST[‘*your appended data*’] . так:

Ответ 4

Если вы находитесь в Chrome, вы можете проверить Post Data​​p >

Вот как проверить данные Post

  • Перейдите на вкладку «Сеть».
  • Посмотрите на ссылку, по которой вы отправляете почтовые данные.
  • Нажмите на него
  • В заголовках вы можете проверить Request Payload для проверки данных post

Источник

объект formData не работает с jQuery AJAX post?

позволяет перейти прямо в код :

здесь я добавляю некоторые строки и один файловый объект к объекту formData, чтобы отправить всю информацию асинхронно на сервер.

сразу после этого у меня есть этот запрос jQuery ajax:

Итак, здесь я пытаюсь опубликовать информацию на сервере, на php-файле сервера у меня есть простой print_r сообщения, поэтому я вижу, что проходит, а что нет.

к сожалению, мой ответ в консоли.журнал (данные) пуст.

также, если вы проверите заголовок на вкладке Сеть, вы получите следующий пустой вывод:

функция успеха вызывается (только для уточнения)

3 ответов

когда вы отправляете запрос ajax через jQuery и хотите отправить FormData, вам не нужно использовать JSON.stringify на этой FormData. Кроме того, при отправке файла тип содержимого должен быть multipart/form-data в том числе boundry — что-то вроде этого multipart/form-data; boundary=—-WebKitFormBoundary0BPm0koKA

поэтому для отправки FormData, включая некоторый файл через jQuery ajax, вам нужно:

  • Set data в FormData без каких-либо изменений.
  • Set processData to false (позволяет предотвратить jQuery от автоматическое преобразование данных в строку запроса).
  • установить contentType to false (это необходимо, потому что в противном случае jQuery установит его неправильно).

ваш запрос должен выглядеть так:

если вы сделали точно так же pervious anwswer и до сих пор не работает не волнуйся its working

может быть intelligence and quick wath рассказываем вам его not working

но не волнуйтесь, посмотри network tap

Источник

Читайте также:  Как настроить яндекс навигатор чтобы показывал камеры
Оцените статью