Angular почтовый запрос, отправляющий пустое тело на node.js сервер - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь отправить данные формы с angular на node.js. Почтовый запрос angular отправляет пустое тело. это моя функция отправки после маршрутизатора - это ts файл

  onSubmit( loginData ) {
if(!loginData) { return; }
this.userService.addUser( loginData as User  )
  .subscribe(user => {
    this.users.push(user);
  });

служба, используемая для публикации данных

   addUser(user: User): Observable<User> {
    // console.log('this is '+user.email);
    const url = `${this.usersUrl}/register`;
    return this.http.post<User>(url, user).pipe(
      tap((newUser: User) => this.log(`added user w/ email=${newUser.email}`)),
      catchError(this.handleError<User>('addUser'))
    );
  }

Ответы [ 2 ]

0 голосов
/ 01 июня 2020

Я разобрался в проблеме. В этом коде angular нет проблем. Я также проверил вкладку сети, как предложил Дэвид, и увидел, что полезная нагрузка отправляется. проблема заключалась в этой строке кода на моем node.js сервере

app.use(express.static('public'))

Вместо этого мне пришлось использовать

app.use(exrpess.json())

. Я скопировал шаблон из другого приложения и почему-то пропустил это. В любом случае спасибо за вашу помощь!

0 голосов
/ 30 мая 2020

Пожалуйста, проверьте один раз, добавив отладку, передаются ли данные входа в службу или нет. Если вы не знаете, как добавить точку отладки, просто распечатайте данные, используя console.log(user) в методе addUser () в качестве первой строки.

А если не получаете данные, просто измените вызов метода следующим образом:

this.userService.addUser(loginData).subscribe(user => {
  this.users.push(user);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...