找不到 Angular2 服务调用 json 路径
Angular2 service call json path not found
product.service.ts 文件:
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl='src/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)));
}
}
文件夹结构请在下面的截图中找到
但是当页面加载时显示错误:
zone.js:2744 GET http://0.0.0.0:4200/src/products.json 404(未找到)
enter image description here
您需要将 json
文件保存在 assets 文件夹中,然后像这样从那里访问
export class ProductService {
private _producturl='./assets/products.json';
constructor(private _http: Http){}
.........
}
如果您使用 Angular Cli,您需要按照官方文档将 json 文件保存在 Assets 文件夹(与应用程序目录平行)目录中。
product.service.ts 文件:
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl='src/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)));
}
}
文件夹结构请在下面的截图中找到
但是当页面加载时显示错误: zone.js:2744 GET http://0.0.0.0:4200/src/products.json 404(未找到)
enter image description here
您需要将 json
文件保存在 assets 文件夹中,然后像这样从那里访问
export class ProductService {
private _producturl='./assets/products.json';
constructor(private _http: Http){}
.........
}
如果您使用 Angular Cli,您需要按照官方文档将 json 文件保存在 Assets 文件夹(与应用程序目录平行)目录中。