Angular 2中的文件路径错误

时间:2017-03-28 19:18:19

标签: angular primeng

我正在尝试实现PrimeNG数据表,我有一个名为cars-small.json的JSON文件中的数据,我认为代码中的路径是正确的,我检查了近20次并通过更改它的名称来检查它和该文件的路径,但总是得到404错误。

这就是我想要的方式:

@Injectable()
export class CarService {

datatable = "app/services/cars-small.json";
url = this.datatable;

constructor(private http: Http) {}

getCarsSmall() {
    return this.http.get(this.url)
                .toPromise()
                .then(res => <Car[]> res.json().data)
                .then(data => { return data; });
    }
}

但总是得到404错误,请检查此错误图片(https://imgur.com/StSFhUP)和实际图片路径(https://imgur.com/cxEHMJ6)。

2 个答案:

答案 0 :(得分:3)

更改数据表,如下所示,因为app指的是应用程序所在的文件夹,

datatable = "/services/cars-small.json";

修改

由于你正在创建一个http.get,它应该有一个完整的路径,如http://localhost:4200/services/cars-small.json

将json文件复制到资产文件夹**src/assets/cars-small.json**,然后您就可以访问它了

datatable = "/assets/cars-small.json";

答案 1 :(得分:1)

由于app文件夹不公开,因此请将cars-small.json放入src/assets/cars-small.json,然后您可以使用url访问

http://localhost:4200/assets/cars-small.json

请记住除资源文件夹之外没有其他文件夹是公共的,您必须将所有模拟数据放入其中,就像其他静态文件图像一样