Ionic / Angular http.post будет вызываться более одного раза - PullRequest
0 голосов
/ 08 сентября 2018

Я использую Ionic3 и Angular 5 и пытаюсь отправить данные json с клиента на сервер через http.post.

Но по неизвестной причине, когда я отправляю запрос на публикацию вручную по нажатию кнопки, запрос на публикацию будет вызываться автоматически каждые несколько минут ... Но я этого не хочу. Клиент должен отправить ТОЛЬКО ОДИН почтовый запрос.

Пожалуйста, кто-нибудь может объяснить, в чем проблема?

---- Мой класс Calling

import { ConnectionServiceProvider } from '../../providers/connection-service/connection-service';

@IonicPage()
@Component({
 selector: 'page-result-modal',
 templateUrl: 'result-modal.html',
 })

sendGameResults() {
 this.serverConnection.sendGameResult(result).subscribe(data => {
    console.log(result);
  }, error => {
    console.log(error);
  });
 }
}

---- My ConnectionService

import { HttpClient } from '@angular/common/http'
import { Injectable } from '@angular/core';

@Injectable()
export class ConnectionServiceProvider {
mainUrl = "http://127.0.0.1:8080";

constructor(public http: HttpClient) {}

sendGameResult(result) {
  var data = JSON.stringify(result);
  return this.http.post(this.mainUrl + '/sendgameresult', data, { headers: { 
     'Content-Type': 'application/json' } }).map(response => {
        return response;
  });
}

----- HTML

<ion-row nowrap no-padding>
        <button class="send-game-results" (click)="sendGameResults()" ion- 
    button full>Senden</button>
</ion-row>

enter image description here

1 Ответ

0 голосов
/ 08 сентября 2018

Я не уверен, но вы также можете создать переменную и вызвать эту переменную, если вы добьетесь успеха, например:

public canelReq = this.yourService.unsubscribe ();

А потом, когда вы добьетесь успеха, просто вызовите этот метод

succsess => this.cancelReq();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...