Angular 5 http post 未发送请求
Angular 5 http post not sending requests
我正在尝试在 Angular 5
应用程序中实施授权。我有 auth.service.ts
和 login()
方法,其中 returns Observable<any>
。看起来像这样:
login(loginForm: LoginForm): Observable<any> {
debugger;
return this.http.post(`${this.endpoint}session/login`, loginForm)
.map(res => {
return res;
}).catch(error => {
debugger;
return Observable.of(false);
});
}
问题是,当我从组件调用登录方法时,http.post
抛出错误,它在 debugger
停止,错误如下所示:
AppComponent.html:15 ERROR TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at HttpRequest.serializeBody (http.js:916)
at Observable.eval [as _subscribe] (http.js:2196)
at Observable._trySubscribe (Observable.js:172)
at Observable.subscribe (Observable.js:160)
at subscribeToResult (subscribeToResult.js:23)
at MergeMapSubscriber._innerSub (mergeMap.js:138)
at MergeMapSubscriber._tryNext (mergeMap.js:135)
at MergeMapSubscriber._next (mergeMap.js:118)
at MergeMapSubscriber.Subscriber.next (Subscriber.js:92)
并且 chrome 网络选项卡中没有记录 XHR 请求。
有什么想法吗?
由于@JBNizet 指出我正在尝试发送一个无法转换为 JSON
的对象,我检查了我的 LoginForm
,它看起来像这样:
export class LoginForm {
constructor(public email?: string,
public password?: string) {}
}
我将 class 更改为:
export class LoginForm {
public email: string;
public password: string;
}
现在可以使用了
我正在尝试在 Angular 5
应用程序中实施授权。我有 auth.service.ts
和 login()
方法,其中 returns Observable<any>
。看起来像这样:
login(loginForm: LoginForm): Observable<any> {
debugger;
return this.http.post(`${this.endpoint}session/login`, loginForm)
.map(res => {
return res;
}).catch(error => {
debugger;
return Observable.of(false);
});
}
问题是,当我从组件调用登录方法时,http.post
抛出错误,它在 debugger
停止,错误如下所示:
AppComponent.html:15 ERROR TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at HttpRequest.serializeBody (http.js:916)
at Observable.eval [as _subscribe] (http.js:2196)
at Observable._trySubscribe (Observable.js:172)
at Observable.subscribe (Observable.js:160)
at subscribeToResult (subscribeToResult.js:23)
at MergeMapSubscriber._innerSub (mergeMap.js:138)
at MergeMapSubscriber._tryNext (mergeMap.js:135)
at MergeMapSubscriber._next (mergeMap.js:118)
at MergeMapSubscriber.Subscriber.next (Subscriber.js:92)
并且 chrome 网络选项卡中没有记录 XHR 请求。 有什么想法吗?
由于@JBNizet 指出我正在尝试发送一个无法转换为 JSON
的对象,我检查了我的 LoginForm
,它看起来像这样:
export class LoginForm {
constructor(public email?: string,
public password?: string) {}
}
我将 class 更改为:
export class LoginForm {
public email: string;
public password: string;
}
现在可以使用了