【发布时间】:2018-07-16 05:43:20
【问题描述】:
我创建了这个 auth-api.ts 服务,有一个登录方法:
login(username, password)
{
let headerOptions = new HttpHeaders();
headerOptions.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
const httpParams = new HttpParams()
.set('username', username)
.set('password', password);
return this.http.post('http://dev.local/scripts/login.php', httpParams, {
headers: headerOptions
}).pipe(map(
res=>{
console.log('user '+res)
},
err=>
console.log(err)
))
}
单击按钮时,将在 login.component.ts 中使用此方法调用此方法:
login(){
const user = this.loginGroup.get('username').value;
const pass = this.loginGroup.get('password').value;
this.auth.login(user, pass).subscribe(
(data)=>{
console.log(data);
this.loginGroup.reset();
},
(error)=>{
console.log(error)
}
)
}
问题是来自 api 登录方法的 console.log(res) 正在返回值,但来自第二个登录方法的 `console.log(data) 正在返回 undefined。
我想要对data做一些条件,所以我不能。
【问题讨论】:
-
如果您在 chrome 中按 f12 并输入 console.log(console.log("anything here")) 您将看到相同的行为。我怀疑这是因为在这种情况下您的数据实际上是 console.log()。
-
那么如何才能真正得到原始值
标签: angular httpclient angular6