Angular 6 - HTTP Response 200 is null in subscribe [duplicate]
Asked Answered
O

2

8

I have the following Angular http.service.ts which I use to call the /login API.

login(user: User) {
    console.log("logging in");
    console.log(JSON.stringify(user));
    this.http
        .post<any>(this.loginURL, user, httpOptions)
        .subscribe(
            res => console.log('response : ' + res),
            err => console.log('error : ' + err))
}

This is a really standard POST call but it always returns null and I can't get why. This is the Network Google Chrome's tab information

enter image description here

The Chrome's Console information

enter image description here

I can't get why the response is null. Even though I have no payload, it should at least make the headers available no?

Obese answered 9/6, 2018 at 23:54 Comment(2)
Open your network tab in chrome dev tool and check the response of the post url, i guess angular has nothing to do with the response but displaying it in the console. "check your backend".Zildjian
actually i did not see the response in the posted photo.Zildjian
Z
19

Try the following:

this.http.post("url", body, {headers: headers, observe: "response"})
   .subscribe(res => console.log(res));

You can take the same http options you have but add the observe: response. the header is HttpHeaders from http client. ex: headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'),

Zildjian answered 10/6, 2018 at 8:48 Comment(2)
You can take the same http options you have but add the observe: "response". the header is HttpHeaders from http client. ex: headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'),Zildjian
It Works !!!, Although now response.headers is an empty array even though in the Network Google Chrome's tab information I see a lot of them :-(Lu
D
0

Try the following,

this.http.post(loginUrl,user,httpOptions).map( res =>res).subscribe(data => {
  console.log(data);
});
Disvalue answered 10/6, 2018 at 0:25 Comment(2)
Hi, I used the following but it still does not work. My response is still null : .post(this.loginURL, user, httpOptions) .pipe(map(res => res)) .subscribe( res => console.log('response : ' + res)Obese
i need to show message from using 'data' how i access 'data' in my component ?Yorick

© 2022 - 2024 — McMap. All rights reserved.