Когда я отправляю обычную HTML-форму, мой серверный сервис (написанный на Laravel) может понимать параметры POST.
Я проверил заголовок запроса в браузере. Параметры запроса:
Form Data:
_token:v4xCN9fHMpZhoQMGHfbqI01XDsQ1nCxYhy3RDrw5
username:root
password:123456
Затем я написал следующий метод для отправки почтового запроса на сервер через angular5 HttpClient
:
public post(url: string, data: any): Observable<any[]> {
const headers = new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded'
});
return this.http.post( url, data,
{
headers: headers
}
).pipe(
tap(success => this.handleSuccess(success)),
catchError(this.handleError())
);
}
Но браузер отображает другие данные формы следующим образом:
Form Data:
{"username":"asdf","password":"asdf","_token":"mytoken"}:
В качестве данных я передал следующий объект:
data = {
username: 'asdf',
password: 'asdf',
_token: 'mytoken'
};
Но сервер (Laravel) не мог понять параметры запроса. Пожалуйста, дайте мне знать, что с ним не так?