我无法看到让这个HTTP Post工作。我是角度4的新手,这是我在帖子中的第一次尝试。我可以在console.log中检查URL并验证它是否正确。我也可以在Fiddler中手动使用POST,它可以正常工作,而不是来自应用程序。
当我在应用程序的这个动作中观看小提琴手时,我没有看到任何帖子的尝试。
此网址不需要正文,因此我不确定这是否有所作为。
组件
getSanitationTasks() {
this.sanitationProvider.getSanitationTasks().subscribe(location => this.sanitationTasks = location)
}
completeSanitationTask(loadnumber) {
this.sanitationProvider.completeSanitationTask(loadnumber).subscribe((res) => {
console.log("complete executed"); this.getSanitationTasks(), error => { console.log(error) };
});
}
服务
completeSanitationTask(loadnumber) {
console.log(this.DatabaseName, this.EmployeeNumber, loadnumber);
this.completeSanitationTaskURL = "http://xxxx-dev.dotfoods.com/api/" + this.DatabaseName + "/v1/sanitation/tasks?employeeNumber=" + this.EmployeeNumber + "&loadNumber=" + loadnumber;
return this.http.post(this.completeSanitationTaskURL, []).map(res => res.json());
}
HTML
<ion-content padding>
<ion-grid>
<ion-row style="background: darkblue; color: white;">
<ion-col col-md-3>
<ion-label>Door Number</ion-label>
</ion-col>
<ion-col col-md-3>
<ion-label>Load Number</ion-label>
</ion-col>
<ion-col col-md-3>
<ion-label>Trailer Number</ion-label>
</ion-col>
<ion-col col-md-3>
</ion-col>
</ion-row>
<ion-row style="border-bottom: solid; border-width: 1px" *ngFor="let task of sanitationTasks;let index = index;trackBy:trackByIndex;">
<ion-col col-md-3>
<ion-label>{{task.DoorNumber}}</ion-label>
</ion-col>
<ion-col col-md-3>
<ion-label>{{task.LoadNumber}}</ion-label>
</ion-col>
<ion-col col-md-3>
<ion-label>{{task.TrailerNumber}}</ion-label>
</ion-col>
<ion-col col-md-3>
<button ion-button (click)="completeSanitationTask(task.LoadNumber)">Complete</button>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
答案 0 :(得分:0)
订阅observable返回。
completeSanitationTask(loadnumber) {
this.sanitationProvider.completeSanitationTask(loadnumber).subscribe((res)=>{
console.log(res);
});
}
答案 1 :(得分:0)
要启动post http调用,您需要订阅该函数返回的configure.ac
。
HeroesComponent通过订阅此服务方法返回的Observable来启动实际的POST操作。
在this documentation中阅读更多内容。
Observable