Angular 6-英雄之旅-getHero-错误404

时间:2018-10-09 09:51:56

标签: angular http-status-code-404

我正在关注https://angular.io/tutorial/toh-pt6的《 Angular 6英雄之旅》教程,并且一切正常。内存服务适用于仪表板,并且英雄列表显示正常。

但是,当单击英雄并执行英雄详细信息的组件getHero()方法时,即使以正确的值传递了“ id”参数,内存服务和FireFox也不会返回任何英雄对象开发人员工具控制台显示错误为404“未找到”的响应。

我已经将我的代码与教程页面上发布的代码进行了比较,直到它们相同为止。我已经在网上搜索,阅读并尝试了一些建议的修复程序,但是都没有得到积极的结果。

我敢肯定,我已逐步按照本教程进行操作,但是在这一点上,我需要一些帮助。为什么调用此方法通过id获取一位英雄失败,而检索所有英雄的方法工作正常?如果有人经历过同样的经历并且可以分享一些有关此404错误的信息,我将不胜感激。 TIA

最诚挚的问候,

里克

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我希望有人可以提供更优雅的解决方案,但是这是我解决的方法。

替换此块:

return of(HEROES.find(hero => {
      hero.id === id;
    }))

带有此块:

let thisHero;
    for (let i = 0; i < HEROES.length; i++) {
      if (HEROES[i].id === id) {
        thisHero = HEROES[i]
      }
    }
return of(thisHero);