调用http.get()时相对路径错误

时间:2017-07-11 17:17:53

标签: javascript relative-path

两小时后我无法得到它,为什么这条相对路径是错误的。在另一个angular-cli项目中,我得到了完全相同的文件夹结构和相同的相对路径,它的工作原理。这里有什么问题:

这是我的树(从navigation.component.ts调用dev_data文件夹中的json):

enter image description here

以下是我称之为的方式:

ngOnInit() {
    this.loadNavItems()
}

loadNavItems() {
    this.navItems = this.http.get("../../dev_data/navItems.json").map(response => response.json());
}

每次获得404:GET http://localhost:4200/dev_data/navItems.json 404 (Not Found)

我重复一遍,在另一个angular-cli项目中,相同的结构(src / app和json src / dev_data中的导航组合)具有相同的相对路径!我不知道什么是错的。

1 个答案:

答案 0 :(得分:0)

你的相对路径不会像你期望的那样有效。首先将dev_data文件夹置于与index.html相同的级别,然后将网址提供为./dev_data/navItems.json

另一种方法是,如果您不想更改index.html的位置,请从index.html提供.json的相对网址

主要原因是当您执行http请求时,相对URL与根匹配,即index.html文件在哪里。