Не удалось вызвать внутреннюю функцию 404 не найдено - PullRequest
0 голосов
/ 25 января 2019

Я запускаю приложение Express с Node в серверной части. У меня есть 2 функции в компоненте в NodeJS, к которому я пытаюсь получить доступ из моего сервиса. Ссылка для обоих одинакова в сервисе. Умеет подключать одну из функций сервиса.

Тем не менее, он показывает 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);
}

Backend .js файл

exports.getprojectcata = function(req, res){
     console.log("First Function");

};
exports.getprojects = function(req, res){
    console.log("Second Function");

};

Функция getprojectcata работает в первом компоненте. Тем не менее, он показывает 404, не найденный в функции getprojects во втором компоненте. Я проверил следующие вещи -

  1. Маршрутизация, по-видимому, не является проблемой, поскольку она без каких-либо проблем перемещается к следующему компоненту.

  2. Мы также попытались вызвать getprojectscata через тот же сервис в компоненте, и это сработало.

1 Ответ

0 голосов
/ 25 января 2019

Для функции sencond используйте .post в сервисе и backend route.

Поскольку запросы GET используются только для запроса данных.И вы передаете moid в http.get, который дает 404.

В посте вы можете отправлять данные moid в параметрах и в данных бэкэнда в виде req.params.

Надеюсь, это поможет вам,Поделитесь своим кодом для лучшего понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...