Angular HTTP Post observable работает только при первом его вызове - PullRequest
0 голосов
/ 27 марта 2019

На моей передней веб-странице есть кнопка, позволяющая пользователю отправлять данные по клику. Пользователь может отправить данные несколько раз через один и тот же API-интерфейс restful. Я использую http.post метод angular для публикации данных, но он работает только в первый раз, когда пользователь нажимает кнопку отправить.

onClick() {
   //**code in here executed every time user click submit button**.
  this. subscription = this.http.post<any>("url",data,httpOptions).subscribe(
    //**code inside here only executed once. The next time user click submit button, it won't trigger execution**.
  );
}

Как заставить сообщение работать каждый раз, когда пользователь нажимает кнопку «Отправить»? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Помните шаблон проектирования Angular: у вас есть компоненты и сервисы для управления вашим проектом. Служебный файл имеет инъекционную аннотацию.

Второе: рекомендуется иметь метод для вызова заявок. Может быть, это может быть решением, потому что угловой потерял ссылку.

0 голосов
/ 27 марта 2019

Вам нужно будет предоставить код до 'this.subscription' и внутри ... как мы можем только догадываться иначе.Если вы можете предоставить HTML-код для кнопки, это также может выделить проблему.

Я попытался использовать ниже, и у меня нет проблем:

onClick() {
    //**code in here executed every time user click submit button**.
    this.subscription = this.http.post<any>("https://www.google.com", {}, {}).subscribe(result => {
      console.log(result);
    });
}
<button (click)="onClick()">Click me</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...