项目被删除,但当您离开页面并返回时,即使项目不在邮递员中,也会再次放置该项目

  • 本文关键字:项目 邮递员 删除 离开 返回 angular
  • 更新时间 :
  • 英文 :


我正在开发一个有角度的php应用程序,并在localhost上运行它。在我的前端,我有一个检索信息并显示的功能。列表中的每一行都有一个名为delete的按钮,可以删除该项目,当我单击delete时,我会得到该项目的id,并向我的服务器发送删除请求。我和邮递员一起遵循这一点,可以想象它确实删除了所有文件,但在我看来,该项目仍然存在,即使我在尝试使用get the deleted item back方法检索列表时将其从列表中删除,但邮递员没有返回。

分类服务.ts

get(page, descricao) {
page = 'all';
return this.http.get(Auth.url + this.nameClass + `?page=${page}&desc=${descricao}`, { headers: { 'token': Auth.token } });
}
delete(id) {
console.log(Auth.url + this.nameClass + "/" + id);
this.http
.delete(Auth.url + this.nameClass + "/" + id, { headers: { 'token': Auth.token } })
.subscribe(dados => alert('Ok'), (error: any) => alert('erro'));
}

当我使用一个函数删除警报("ok"(时,因为我的服务器返回true,因为它完全删除了

类别列表.组件.ts

items: any;
ngOnInit() {
this.getList();
}
excluir(desc, id) {
if (confirm("Do you want to delete the category " + desc + " ?")) {
let index = this.getIndex(id);
if (index == -1)
alert('Error');
else {
let result = this.categoriaService.delete(id);
this.items.splice(index, 1);
}
}
}
getIndex(id) {
for (let i = 0; i < this.items.length; i++)
if (this.items[i].id == id)
return i;
return -1;
}
getList(page: number = 1) {
this.categoriaService.get(page, this.pesquisarValue)
.subscribe(dados => this.exibeLista(dados), (error: any) => console.log(error));
}

exibeLista(dados) {
this.items = null;
if (dados.result.count == 0) // Quantidade de itens retornados da consulta
this.pages = null;
else {
if (dados.result.paginas == 0) // Quantidade de paginas
this.pages = null;
else {
this.totalPages = dados.result.paginas;
this.loadPages();
}
this.items = dados.result.item;
}

我使用this.items.splice(index,1(函数;并从我的项目数组中删除已删除的项目,到目前为止效果良好。当我离开这一页回来时,邮件又在那里了,尽管它不在邮递员那里。我正在使用允许控制允许起源的chrome中的扩展,这会引起任何问题吗?这是我的清单吗?我如何删除已删除的数据

除了服务外,您的代码看起来不错。请将您的服务代码更改为以下

get(page, descricao) {
page = 'all';
return this.http.get(Auth.url + this.nameClass + `?page=${page}&desc=${descricao}`, { headers: { 'token': Auth.token } })
.map(response => return response ) // or try  `response.json()` instead of `response` 
.catch(error => {
return Observable.throw(error);
});;
}

相关内容

最新更新