我正在使用后端运行Node的Express应用程序。我试图从服务访问NodeJS的组件中有2个函数。两者的链接在服务中相同。能够连接服务中的功能之一。
但是,它显示404 not found
用于访问同一组件中的第二个功能。奇怪的是,来自同一服务的2个功能正在给出2个不同的响应(1个成功和1个失败)。
有人遇到任何此类问题吗?如果是的话,该如何纠正?
一些参考代码:
component1.component.ts
getallprojectcat()
{
this.authenticationService.getprojectcat()
.pipe(first())
.subscribe(
data => {
this.data = data;
},
error => {
this.loading = false;
});
}
}
component2.component.ts
showprojects(moid)
{
this.authenticationService.getprojectslist(moid)
.pipe(first())
.subscribe(
data => {
this.silver = data;
},
error => {
console.log('some error');
this.alertService.error(error);
this.loading = false;
});
}
.service文件
getprojectcat()
{
return this.http.get<any>(this.studenturl+'/getprojectcata/')
.pipe(map(allprojectcat => {
console.log(JSON.stringify(allprojectcat));
return allprojectcat;
}));
}
getprojectslist(moid)
{
return this.http.get(this.studenturl+'/getprojects/'+moid)
.pipe(map(projectslist => {
console.log("Projects List:"+JSON.stringify(projectslist));
return projectslist;
})).catch(this.handleError);
}
后端.js文件
exports.getprojectcata = function(req, res){
console.log("First Function");
};
exports.getprojects = function(req, res){
console.log("Second Function");
};
函数getprojectcata在第一个组件中运行。但是,它显示了在第二个组件的getprojects函数上找不到的404。我检查了以下内容-
路由似乎不是问题,因为它可以毫无问题地移至下一个组件。
我们还尝试了通过组件中的同一服务调用getprojectscata,并且它可以正常工作。
答案 0 :(得分:0)
对于第二种功能,请在服务和后端路由中使用.post。
由于GET请求仅用于请求数据。并且您在http.get中传递了Moid,它给出了404。
在发布后,您可以在参数中发送Moid数据,而在后端获取数据时则以req.params的形式发送。
希望它能对您有所帮助。 分享您的代码以更好地理解。