Angular 角度7:Post请求始终发送空正文
我一直在努力理解这个问题,现在已经有好几天了,所以我想使用angular 7向nodejs rest api发送一个带有用户名和密码的post请求以进行身份验证,但它发送了一个空正文这是authservice.ts中的登录方法:Angular 角度7:Post请求始终发送空正文,angular,http,angular7,angular-httpclient,Angular,Http,Angular7,Angular Httpclient,我一直在努力理解这个问题,现在已经有好几天了,所以我想使用angular 7向nodejs rest api发送一个带有用户名和密码的post请求以进行身份验证,但它发送了一个空正文这是authservice.ts中的登录方法: login(username: string, password: string): Observable<any> { let httpOptions = { headers: new HttpHeaders({
login(username: string, password: string): Observable<any> {
let httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Accepts': 'application/json'
})
};
return this.http.post<any>(
`${this.HOST_DOMAINE}/bo/api/authenticate`,
{
'username': username,
'password': password
},
httpOptions
);
}
我一直在寻找解决方案,但我尝试的一切都不起作用,我不知道我错过了什么。
注意:我是一个初学者对于任何面临相同问题的人来说,这里有一个临时解决方案! 所以我发现这是一个交叉起源的问题,这里有一个解决方法:
login(username: string, password: string): Observable<any> {
let httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}),
params: new HttpParams()
.set("username", username)
.set("password", password),
withCredentials: true
};
return this.http.post<any>(
`${this.HOST_DOMAINE}/bo/api/authenticate`,
null,
httpOptions
);
}
它工作了,但仍然需要在原点进行测试对于任何面临相同问题的人,这里有一个临时解决方案! 所以我发现这是一个交叉起源的问题,这里有一个解决方法:
login(username: string, password: string): Observable<any> {
let httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}),
params: new HttpParams()
.set("username", username)
.set("password", password),
withCredentials: true
};
return this.http.post<any>(
`${this.HOST_DOMAINE}/bo/api/authenticate`,
null,
httpOptions
);
}
它工作了,但仍然需要在源站上进行测试这看起来还可以,请从nodejs添加rest函数检查网络选项卡或任何工具以可视化请求的有效负载。很可能是发送了正文。看起来很好,尝试在服务器和客户端上调试代码上次调试我做的正文显示如下{}表示它是空的请求已发送,但它是空的。您的表单是否有问题?是否将用户和密码传递到方法中?表单是如何定义的?看起来不错,请从nodejs中添加rest函数检查网络选项卡或任何工具以可视化请求的有效负载。很可能是发送了正文。看起来很好,尝试在服务器和客户端上调试代码上次调试我做的正文显示如下{}表示它是空的请求已发送,但它是空的。您的表单是否有问题?是否将用户和密码传递到方法中?您的表单是如何定义的?
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", req.get('origin'));
res.header('Access-Control-Allow-Credentials', true);
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});