这是我的代码:
import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
logIn(username: string, password: string) {
const url = 'http://server.com/index.php';
const body = JSON.stringify({username: username,
password: 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.');
}
}
);
}
和这里的网络调试:
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
和数据存储在“请求有效负载”中,但在我的服务器中未收到POST值:
print_r($_POST);
Array
(
)
我相信错误来自于POST期间未设置的标头,我怎么做错了?
对了谢谢!但是在后端没有收到数据后,我去了application / x-www-form-urlencoded。但无论如何,主要问题是anserwerd
—
Frennetix
勾选此角8例的HTTPClient消费与自定义标题和错误处理REST风格的API freakyjolly.com/...
—
代码间谍