无法调用未找到的后端功能404

时间:2019-01-25 08:22:21

标签: node.js express

我正在使用后端运行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。我检查了以下内容-

  1. 路由似乎不是问题,因为它可以毫无问题地移至下一个组件。

  2. 我们还尝试了通过组件中的同一服务调用getprojectscata,并且它可以正常工作。

1 个答案:

答案 0 :(得分:0)

对于第二种功能,请在服务和后端路由中使用.post。

由于GET请求仅用于请求数据。并且您在http.get中传递了Moid,它给出了404。

在发布后,您可以在参数中发送Moid数据,而在后端获取数据时则以req.params的形式发送。

希望它能对您有所帮助。 分享您的代码以更好地理解。