我使用Ionic3和Angular 5,尝试通过http.post从客户端向服务器发送json数据。
但是出于未知的原因,当我每次单击按钮手动发送发帖请求时,发帖请求将每隔几分钟自动被调用...但是我不希望这样。客户只能发送一个帖子请求。
请问有人可以解释问题所在吗?
----我的通话班
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);
});
}
}
----我的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>
答案 0 :(得分:0)
我不确定,但是您也可以创建一个变量,如果成功,例如,可以调用此变量:
public canelReq = this.yourService.unsubscribe();
然后当您获得成功时,只需调用此方法
succsess => this.cancelReq();