尝试使用以下脚本在Angular 4项目中使用http.get读取json文件。
http.get('../jsonmock/data.json')
.subscribe(res => this.data = res.json() );
如果我尝试从assets文件夹中读取json文件,它会成功运行但是从任何其他文件夹我在控制台上出现以下错误
http.get( '../ jsonmock / data.json') .subscribe(res => this.data = res.json());
响应{_body:“↵↵↵↵↵↵”,状态:404,ok:false,statusText:“未找到”,标题:标题,...} 头 : 标题{_headers:Map(8),_normalizedNames:Map(8)} 好 : 假 状态 : 404 状态文本 : “未找到” 类型 : 2 网址 : “http://localhost:4200/jsonmock/data.json” _身体 : “↵↵↵↵Error↵↵↵
Cannot GET /jsonmock/data.json↵↵↵” 的原 : 身体 构造函数 : ƒ回应(responseOptions) 参数 : (......) 呼叫者 : (......) 长度 : 1 名称 : “响应” 原型 : Body {constructor:ƒ,toString:ƒ} 的原 : ƒ身体() [[FunctionLocation]] : http.es5.js:900 [[作用域]] : 范围[3] 的toString : ƒ()
答案 0 :(得分:0)
如果您使用的是Angular CLI ...它只会在.angular-cli.json文件中查找您告诉它的文件夹中的资源。
在" apps"节点有一个名为" assets":
的节点 "assets": [
"assets",
"api",
"favicon.ico"
],
默认情况下,只有资源和favicon在这里。如果您希望它在.json文件的其他位置查找,则需要在此处指定这些位置,就像我对api
文件夹所做的那样。