«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему данные Axios POST недоступны в $_POST?

Почему данные Axios POST недоступны в $_POST?

Опубликовано 8 ноября 2024 г.
Просматривать:125

Why is Axios POST Data not Accessible in $_POST?

Параметры публикации Axios не считываются $_POST

Вы отправляете данные в конечную точку PHP с помощью Axios и ожидаете доступа к ним в $ _POST или $_REQUEST. Однако в настоящее время вы не можете его обнаружить.

Изначально вы использовали метод axios.post по умолчанию, но переключились на предоставленный фрагмент кода из-за подозрения на проблему с заголовком. Несмотря на это изменение, данные остаются необнаружимыми.

После дальнейшего расследования вы поняли, что Axios публикует данные как объект JSON, доступ к которому осуществляется через file_get_contents("php://input"). Вместо этого ваша цель — отправить данные в виде обычной строки.

Решение:

Согласно документации Axios, по умолчанию поведением является сериализация объектов JavaScript в JSON для публикации. . Однако PHP не поддерживает JSON в качестве формата данных для заполнения $_POST. Он поддерживает только форматы, изначально поддерживаемые HTML-формами:

  • application/x-www-form-urlencoded
  • multipart/form-data

To отправить данные в нужном формате, у вас есть несколько вариантов:

  • Использование API URLSearchParams (в браузер)
  • Использование библиотеки qs для кодирования данных

В качестве альтернативы вы можете настроить конфигурацию PHP для обработки данных JSON, как предложено в другом связанном вопросе.

Заявление о выпуске Эта статья перепечатана по адресу: 1729607537. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3