.Subscribe()函数接收值但无法进入功能块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Subscribe()函数接收值但无法进入功能块相关的知识,希望对你有一定的参考价值。
使用rxjs observable从前端调用springboot后端的服务。即使想到使用.subscribe函数来调用这个成功返回值的服务,我也无法进入订阅块,它直接到达块的末尾。
login.component.ts
validate()
console.log('need to validate');
this.loginService.checkLogin(this.userName, this.pwd).subscribe(resp =>
console.log(resp);
if (resp === 'success')
this.router.navigateByUrl('/home');
, error =>
this.toastr.error(error.error.message);
);
login.service.ts
export class LoginServiceService
url = 'http://localhost:8089/login/check';
constructor( private http: HttpClient)
public checkLogin(userName, password): Observable <any>
let headersValue = new HttpHeaders();
headersValue = headersValue.set('Access-Control-Allow-Origin', '*');
headersValue = headersValue.set('Content-Type', 'application/json');
headersValue = headersValue.set('userName', userName);
headersValue = headersValue.set('password', password);
return this.http.get<any[]>(this.url, headers: headersValue );
预期结果:它应该进入订阅块并在控制台中显示resp并输入if块。
实际结果:只显示“需要验证”。
并在错误检查后直接到达块的末尾。
答案
我认为你的问题可能与标题有关。我不确定你是否需要它们,但更具体地说我认为userName和密码根本不属于那里。他们应该是params。我认为以下内容可以帮助您:
public checkLogin(userName, password): Observable <any>
let headersValue = new HttpHeaders();
headersValue = headersValue.set('Access-Control-Allow-Origin', '*');
headersValue = headersValue.set('Content-Type', 'application/json');
const params = userName, password ;
return this.http.get<any[]>(this.url, headers: headersValue, params );
以上是关于.Subscribe()函数接收值但无法进入功能块的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Python 函数打印一个值但返回 None? [关闭]