Oto mój kod:kątowa HttpClient nie wysyła nagłówek
import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
logIn(username: string, password: string, domain: string) {
const url = 'http://server.com/index.php';
const body = JSON.stringify({username: user.username,
password: user.password});
const headers = new HttpHeaders();
headers.set('Content-Type', 'application/json; charset=utf-8');
this.http.post(url, body, {headers: headers}).subscribe(
(data) => {
console.log(data);
},
(err: HttpErrorResponse) => {
if (err.error instanceof Error) {
console.log('Client-side error occured.');
} else {
console.log('Server-side error occured.');
}
}
);
}
i tu debugowania sieci:
Request Method:POST
Status Code:200 OK
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:46
Content-Type:text/plain
i dane są przechowywane w '' ale żądanie Payload na moim serwerze nie otrzymał wartości POST:
print_r($_POST);
Array
(
)
Uważam, że błąd pochodzi z nagłówka nie ustawionego podczas testu POST, co jest nie tak z tym co zrobiłem?
był Twój problem został rozwiązany? –
Tak, dziękuję! Ale po tym, jak nie otrzymałem danych na moim Back-endzie, przeszedłem do application/x-www-form-urlencoded. W każdym razie głównym pytaniem jest anserwerd – Frenentix
twój backend nie jest węzłem? php jest brzydki, aby wysłać odpowiedź i naprawdę nie jest to nowoczesna praca z aplikacją/x-www-form-urlencoded. – stackdave