快速删除路由不适用于Angular应用程序

时间:2020-10-04 21:50:21

标签: node.js angular typescript express postman

以某种方式删除(和放置/修补)路由永远行不通。当与邮递员进行测试时,它们可以很好地工作,但是从我的角度应用程序调用时,它们永远无法工作。

//calling delete route from angular application. this does not work
DeleteDay(){
    this.http.delete("http://192.168.1.102:3000/api/5f7a391013cbd02ea001fb82");
}


//delete route from server
router.delete('/:postId', async (req, res) => {
try{
    const removedPost = await Dag.findByIdAndDelete({ _id: req.params.postId });
    res.json(removedPost);
} catch(err) {
    res.json({ message: err });
}
});

//使用邮递员呼叫删除。这确实有效 screen from postman

1 个答案:

答案 0 :(得分:1)

HttpClient发出HTTP请求时,它返回一个Observable,需要订阅。邮递员也可以使用同样的方法,但是在有角度地使用邮递员时,您需要通过以下方式进行订阅:

import {HttpClient} from '@angular/common/http';
constructor(private http:HttpClient){}
//your function
DeleteDay(id:string){
console.log("id could be made dynamic",id);//5f7a391013cbd02ea001fb82
this.http.delete("http://192.168.1.102:3000/api/"+id) 
    .subscribe((data)=>{ 
      console.log(data); //data will actually be an Object sent from Express
    })
}

PS:我将您的功能更改为即使在动态ID上也可以使用,请根据需要使用它。