Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 5 http post不发送请求_Angular_Typescript_Http_Angular Services_Angular Httpclient - Fatal编程技术网

Angular 5 http post不发送请求

Angular 5 http post不发送请求,angular,typescript,http,angular-services,angular-httpclient,Angular,Typescript,Http,Angular Services,Angular Httpclient,我正在尝试在Angular 5应用程序中实现授权。我在其中有auth.service.ts和login()方法,它返回Observable。看起来是这样的: login(loginForm: LoginForm): Observable<any> { debugger; return this.http.post(`${this.endpoint}session/login`, loginForm) .map(res => {

我正在尝试在
Angular 5
应用程序中实现授权。我在其中有
auth.service.ts
login()
方法,它返回
Observable
。看起来是这样的:

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);
        });
}
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)
export class LoginForm {
    constructor(public email?: string,
        public password?: string) {}
}
而且chrome网络选项卡中没有记录XHR请求。
有什么想法吗?

正如@JBNizet所指出的,我试图发送一个无法转换为
JSON
的对象,我检查了我的
LoginForm
,它看起来像这样:

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);
        });
}
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)
export class LoginForm {
    constructor(public email?: string,
        public password?: string) {}
}
我把班级改成:

export class LoginForm {
    public email: string;
    public password: string;
}

它现在正在工作

可能是Hi的复制品。。你在后端使用ORM吗。。我认为您有一个循环依赖的对象结构。错误消息非常清楚:您试图发送一个对象,因此需要将其转换为JSON,但该对象包含一个循环结构,因此无法转换为JSON。检查LoginForm是什么并包含什么。