在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