我正在开发一个有角度的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);
});;
}