我正在尝试实现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)。
答案 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
请记住除资源文件夹之外没有其他文件夹是公共的,您必须将所有模拟数据放入其中,就像其他静态文件图像一样