我对角度 8 中的查询参数有疑问。这是代码:
headers = {
headers: new HttpHeaders({
'Content-Type' : 'application/json',
'Accept': 'application/json'
})
};
login(username, password) {
console.log('login');
let params = new HttpParams();
params = params.append('username', username);
params = params.append('password', password);
let options = { headers: this.headers, params: params };
return this.http.post<any>(this.host + 'login', options).pipe(map(data => {
console.table(data);
this.setSession(data);
this.currentUserSubject.next(data.user);
}));
}
我也试过
let params = new HttpParams();
params = params.set('username', username);
params = params.set('password', password);
和
let params = new HttpParams().set('username', username).set('password', password);
和
let params = new HttpParams().append('username', username).append('password', password);
后端服务器获取未定义的用户名和密码,以前我的代码可以正常工作:
login(username, password) {
console.log('login');
return this.http.post<any>('http://localhost:8080/login?username='+username+'&password='+password,
{headers:{
'Content-Type' : 'application/json',
'Accept': 'application/json'}}
).pipe(map(data => {
this.setSession(data);
this.currentUserSubject.next(data.user);
}));
}
怎么了?谢谢