Задать вопрос
inavo
@inavo

Почему ничего не возвращается при отправке через axios?

Отправляю простой запрос на php файл, но возвращается пустой запрос.
axios.post('/ajax/data.php', {test: 'test'})
.then((response) => {
let data = response['data'];
   console.log(data);
})
.catch((error) => {
   console.log('error', error);
});

php файл
echo 'post= ' . json_encode($_POST);

результат post= []

Файл доступен, статичную строку '123' вернёт.

Не могу понять, в чём проблема?
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
inavo
@inavo Автор вопроса
В общем, разобрался.

Переписал так:
const bodyFormData = new FormData();
bodyFormData.set('data', JSON.stringify({
   url: this.url,
   test: 'test'
}));

axios({
  method: 'post',
  url: '/ajax/data.php',
  data: bodyFormData,
})


Ещё так можно:
axios.post(
  '/ajax/data.php',
  'data=' + JSON.stringify({
    url: this.url,
    test: 'test'
  })
)


php файл:
$data = json_decode( html_entity_decode( stripslashes ($_POST['data']) ) );
echo json_encode($data);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Whitejamer
@Whitejamer
Могу предположить что нужно делать не echo а return использовать.
Ответ написан
Ваш ответ на вопрос

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

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