angolare 7 HttpClient messaggio richiesta non viene inviato al server nodejs

il mio angolare 7 app è in esecuzione utilizzando ng serve sulla porta 4200. ho un server nodo in esecuzione all'interno di un contenitore di docker, situato a localhost: 8081.

ho verificato che il server è attivo, e accessibile, utilizzando postman. l'url era localhost:8081/login. ho potuto ricevere i dati che mi aspettavo quando la richiesta POST è stata presentata.

quando clicco sul pulsante login nel mio login.html, chiama onSubmit() dalla classe dei componenti di login. questo chiama login(), che poi chiama una funzione dal servizio di autenticazione che crea una richiesta POST a localhost:8081/login.

login.component.ts

import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { AuthenticationService } from 'src/app/services/authentication.service';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {

  constructor(private authenticationService: AuthenticationService) { }

  loginForm = new FormGroup({
    email: new FormControl(''),
    password: new FormControl(''),
  });

  ngOnInit() {
  }

  // Called when login form submits
  onSubmit() {
    this.login();
  }

  login() : void {
    this.authenticationService.login(this.loginForm.controls.email.value, this.loginForm.controls.password.value);
  }

}

autenticazione. servizio

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { BehaviorSubject, Observable } from 'rxjs';
import { map } from 'rxjs/operators';

import { User } from '../models/user';

@Injectable({
  providedIn: 'root'
})
export class AuthenticationService {

  private currentUserSubject: BehaviorSubject<User>;
  private currentUser: Observable<User>;

  constructor(private http: HttpClient) {
    this.currentUserSubject = new BehaviorSubject<User>(JSON.parse(localStorage.getItem('currentUser')));
    this.currentUser = this.currentUserSubject.asObservable();
  }

  public get currentUserValue(): User {
    return this.currentUserSubject.value;
  }

  login(email: string, password: string) {
    return this.http.post<any>('localhost:8081/login', {email, password})
      .pipe(map(user => {

        if (user && user.token) {
          // store user details and jwt token in local storage to keep user logged in between page refreshes
          localStorage.setItem('currentUser', JSON.stringify(user));
          this.currentUserSubject.next(user);
        }

        return user;
    }));
  }

  logout() {
    // remove user from local storage to log user out
    localStorage.removeItem('currentUser');
    this.currentUserSubject.next(null);
  }
}

infine, il punto finale del mio server nodo che viene chiamato.

account.js

// Verifies that the email and password exist in the database.
app.post('/login', (req, res) => {
    console.log("in login post");
    res.json({ firstName: 'test', lastName: 'user', email: 'test@gmail.com', password: 'pass' });
});

ho rimosso l'altra logica in modo da poter testare questo con il caso più semplice; solo restituendo valori codificati duro.

quando faccio la richiesta con postman, vedo che "nel post di login" è registrato. tuttavia, quando faccio la richiesta da Angular, "nel post di login" NON è registrato.

perché non posso raggiungere il punto finale da angolare, ma posso da postino? l'indirizzo & amp; porta sono gli stessi.


En title : Angular 7 HttpClient post request not being sent to nodejs server

1 Comments:

  1. Rxjs osservabile è da freddo di difetto, il che significa che sono eseguiti soltanto quando abbonato.

    in voi LoginComponent#login si dovrebbe sottoscrivere la richiesta, anche con un noop, la richiesta sarà inviata a backend

More similar articles:

  • nodejs smtp-server Email viene inviato ma non ricevuto
  • nodejs json fornito in richiesta non viene inviato con push
  • nodejs + Socket.IO Chat app che effettua una nuova connessione ogni volta che viene inviato un nuovo messaggio
  • per un modulo invia pulsante, è possibile modificare l'ingresso del modulo con alcuni client javascript prima di essere inviato a app.js (nodejs)
  • HttpClient post body param non viene inviato correttamente quando si utilizza 'application/x-www-form-urlencoded' intestazione di richiesta tipo di contenuto
  • come nodejs ha inviato un valore di una variabile ad angolar4
  • nodejs risposta viene inviato come stringa invece di un JSON
  • nodejs non attiva la finestra di dialogo Salva file nel browser/EmberJS non riceve file inviato dal server
  • come ottenere array nel server nodejs quando inviato tramite form
  • utilizzando il messaggio flash dopo aver inviato il modulo in nodejs
  • come ottenere i dettagli dell'utente che ha inviato i dati (.exmit ()) al server nodejs?
  • scaricare un file inviato in risposta ad una richiesta POST via nodejs?
  • nodejs Fork - React ogni volta che un newline viene inviato da subprocess
  • analizzare un array inviato al server nodejs usando querystring
  • modulo con metodo postale e tipo di ingresso Multipart/form-data non viene inviato sul modulo nodejs Express Multer
  • Ajax lettura risposta dal server come viene inviato
  • ricevere dati nel server nodejs inviato dal jquery ajax in un client
  • come chiamare la funzione da un altro file, che è stato inviato in nodejs
  • impossibile inviare dati al server nodejs usando C # HttpClient
  • nodejs HttpOnly cookie non viene inviato con funzione fetch
  • come scaricare file inviato dal server nodejs utilizzando $http get request
  • come può javascript array inclusi oggetto essere inviato con HttpClient angolare?
  • scaricare un file inviato in risposta ad una richiesta POST via nodejs? (nessuna AJAX)
  • ASP.NET Cookie angolare 6 HttpClient inviato solo se URL percorso è lo stesso
  • nodejs - Nodemailer non è in grado di response.json quando il messaggio inviato
  • nodejs: come dire che un messaggio inviato da un lavoratore al master è un errore
  • errore quando si utilizza HttpClient in DelegatingHandler: il messaggio di richiesta è stato già inviato. non è possibile inviare più volte lo stesso messaggio di richiesta
  • nodejs https client certificato non inviato errore, ma viene inviato
  • nodejs - Socket.IO come rilevare quale stanza ha inviato i dati?
  • Sendgrid inviato_at nodejs