我正在开发一个有角度的php应用程序,并全部在localhost上运行。在前端,我有一个检索信息并显示的功能。列表中的每一行都有一个名为delete的按钮,可以删除此项目,当我单击delete时,我将获得该项目的ID,并将删除请求发送到我的服务器。我与邮递员一起跟踪此操作,可以看到它确实删除了所有文件,但是即使在尝试使用get方法检索列表时从列表中将其删除,该项目仍然存在。删除的项目返回,但在邮递员中不返回。
Category.service.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'));
}
当我使用函数删除警报(“确定”)时,由于我的服务器已完美删除,因此返回true
CategoryList.Component.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)函数;到目前为止,已经从我的项目数组中删除了已删除的项目。当我离开此页面并返回时,即使该项目不在邮递员中,该项目也仍然存在。 我在allow-control-allow-origin的镶边中使用扩展名,这会引起任何问题吗?这是我的列表在某些缓存中吗?如何删除已删除的数据
答案 0 :(得分:0)
除服务外,您的代码看起来不错。请按以下方式更改服务代码
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);
});;
}