【发布时间】:2020-05-02 17:07:15
【问题描述】:
我是 Angular 2/Spring 启动堆栈的初学者,所以请多多包涵。
我创建了一个http.delete 方法来删除用户选择的特定行,该方法会提示警报以验证删除,我的请求实际上在 Postman 上运行良好,因为我可以根据完全给出的参数删除选定的行数据库,但不在我的前端应用程序中,所以我的 API 可以正常工作。我什至检查了订阅,因为 Observable 是懒惰的,我做了几种代码组合,但这里是实际的 Angular 代码:
IncidentService.ts:
supprimerIncident(incident)
{
let cHeaders = new Headers({ 'Content-Type': 'application/json' });
let cParams = new URLSearchParams();
cParams.set('rfcnumber',incident);
let options = new RequestOptions({ headers: cHeaders, params: cParams })
return this.http.delete(Api+'delete',options)
}
这是调用此服务的 incident.ts 文件的代码。
deleter(incident:string)
{
let alert = this.alertCtrl.create({
title: 'Confirmation',
message: 'Voulez-vous supprimer ce ticket ?',
buttons: [{
text: "Ok",
handler: () => {
this.incserv.supprimerIncident(incident).
map(res=>res.status)
.subscribe(res=>
{
for(let i = 0; i < this.incidents.length; i++) {
if(this.incidents[i] == incident){
this.incidents.splice(i, 1);
}
}
//console.log(this.incidents=incident);
console.log(res)
},
err=>{
console.log(err);
return Observable.throw(err.status);
});
}
}, {
text: "Annuler",
role: 'cancel'
}]
})
alert.present();
}
splice 方法有效并从列表中删除了预期的行,但是当我再次运行应用程序时,该行又回到了那里,它仍在数据库中,可以直接从 Postman 中删除,但不能从应用程序中删除。
感谢您的帮助和时间,非常感谢。
编辑:这是请求网络的屏幕截图(xhr 请求结果)
【问题讨论】:
-
您可以在您的 Ionic 应用程序中遵循此模式。 stackoverflow.com/a/46699558/1077309
-
您是否检查过您的服务是否收到了删除请求?
-
我确实检查了它,它没有,它返回 [object,object] 我将更新帖子以包含 Xhr 的屏幕