Проводящие параметры Axios не читаются $ _POST

Итак, у меня есть этот код:

axios({ method: 'post', url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { json, type, } }) 

Первоначально у меня был обычный axios.post но я изменил это, потому что думал, что это может быть проблема с заголовком. Однако я все еще ничего не обнаруживаю в своем $_REQUEST или $_POST . Тем не менее, он принимает данные в file_get_contents("php://input") .

Любая идея, что не так?

редактировать

Хорошо, я думаю, что знаю, что случилось. Он отправляет его как объект json, поэтому его можно читать только в входе php: //. Как изменить его на обычную строку в axios?

Из документации (я не сохранил ссылки в цитируемом материале):

Использование формата application / x-www-form-urlencoded

По умолчанию axios сериализует объекты JavaScript в JSON. Чтобы отправить данные в формате application / x-www-form-urlencoded, вы можете использовать один из следующих вариантов.

браузер

В браузере вы можете использовать API-интерфейс URLSearchParams следующим образом:

 var params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params); 

Обратите внимание, что URLSearchParams не поддерживается всеми браузерами, но имеется полиполк (убедитесь, что полиполняет глобальную среду).

Кроме того, вы можете кодировать данные с помощью библиотеки qs:

 var qs = require('qs'); axios.post('/foo', qs.stringify({ 'bar': 123 })); 

Вы можете использовать jQuery.param

 postdata = $.param({param1: 'value1', param2:'value2'}) 

Теперь вы можете использовать postdata, имеет свой параметр post