Как правильно задать body в POST request, angular 6?

Конечно, я понимаю, что это делается так:
http.post(url, body);
body - это объект с key: value парами.

Тут то мне и не понятно, как он приходит на сервер. Как объект?
{email: 'mail@mail.com', password: 'pw'}
В таком случае ведь нельзя просто взять и сделать $_POST['email'] на сервере, так?
Приходит же объект. Как можно сформировать запрос, который будет удобно $_POST"ить?

Ведь если я использую не angular форму. Запрос приходит так:
username=mail%mail.com&password=pw
В данном случае все работает.
  • Вопрос задан
  • 450 просмотров
Решения вопроса 1
@Jmaster Автор вопроса
Если кому-то понадобится, этот хедер помог:
private options = {
        headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' })
};
...
this.http.post( url, body, options);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tonx92
В ангулар оставь:
{email: 'mail@mail.com', password: 'pw'}
На сервере можно обработать так:
$postData = file_get_contents('php://input');
$postData = json_decode($postData, true);
// Обращаться так
//$postData['email']
//$postData['password']
Ответ написан
Ваш ответ на вопрос

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

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