在分析我的JSON文件,當我用我的功能在另一個組分,它是在https://jsonlint.com/錯誤:未捕獲的(在承諾):語法錯誤:意外標記<在JSON
@Injectable()
export class LightParserService{
ITEMS_URL = "./lights.json";
constructor(private http: Http) {
}
getItems(): Promise<Light[]> {
return this.http.get(this.ITEMS_URL).toPromise()
.then(resp => {
return resp.json() as Light[];
});
}
}
有效,我得到了一個錯誤:
lights : Light[] = [];
getLights(): void{
this.lightService.getItems().then(light => this.lights = light);
}
在我的網站我有:錯誤:未捕獲的(在承諾):語法錯誤:在JSON意外標記<在位置0
有誰知道如何解決這一問題?我的JSON文件是有效的,我的Light對象包含有效的字段,所以我不明白。
檢查您從服務器獲得的響應。 <通常會在您取回html內容而不是json時出現。所以也許服務器返回你沒有想到的東西。 – toskv
要修復「未捕獲(承諾)」問題,您應該在承諾鏈的末尾添加一個'.catch(...)'處理程序。 – Bergi