在Angular2你可以有一个文件夹/数据/和JSON文件那里,你可以在本地主机访问它:4200 /数据/ something.json。Angular4:如何访问本地json?
这是Angular4不再可能。
任何IDEEA如何得到它的工作?
在Angular2你可以有一个文件夹/数据/和JSON文件那里,你可以在本地主机访问它:4200 /数据/ something.json。Angular4:如何访问本地json?
这是Angular4不再可能。
任何IDEEA如何得到它的工作?
您可以使用此代码
@Injectable()
export class AppServices{
constructor(private http: Http) {
var obj;
this.getJSON().subscribe(data => obj=data, error => console.log(error));
}
public getJSON(): Observable<any> {
return this.http.get("./file.json")
.map((res:any) => res.json())
.catch((error:any) => console.log(error));
}
}
这里file.json
是您的本地JSON文件。
看到这里也
也看到了角的CLI路径
这是我以前在Angular2中所做的。在Angular4中,./file.json路径不再起作用。 –
@DanNeciu你面临的错误是什么? –
@DanNeciu也见我更新的答案 –
我计算出来的changlog。
在Angular2我有src文件夹下的文件夹。 在Angular4中,你必须在根文件夹中。
实施例:
Angular2:
根/ SRC /数据/ file.json
Angular4:
根/数据/ file.json
你可以将文件放在任何你想要的地方,就像你使用整个路径一样,而不是你的请求中的相对路径:) – Alex
这里是你的代码来调用JSON
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map'
@Injectable()
export class YourService {
constructor(private http: Http) { }
getAdvantageData(){
let apiUrl = './assets/data/api/advantage.json';
return this.http.get(apiUrl)
.map((response: Response) => {
const data = response.json();
return data;
});
}
}
在这之后应该在应用模块中导入什么模块? –
@veerendragupta我没有完全明白你的问题。请详细说明一下。 –
我面临同样的问题,我的可观察角度的服务是位于内'src/app /'文件夹,它试图加载本地JSON文件。我试图把JSON文件相同的应用程序文件夹内,一个新的“API”文件夹内,使用各种亲戚/绝对的路线,但它并没有帮助,我得到404错误。当我把它放在'资产'文件夹里的那一刻...... BAM!有效。我想有更多的吧...
可能是这个链接可以帮助...
您可以使用“要求”太多;
let test = require('./test.json');
感谢您的回答 –
angular4 ???它从来没有听说过它 – AurA
@AurA在这里看到什么是angular2现在http://stackoverflow.com/a/43224781/5043867;) –
酷!感谢您的信息, – AurA