Javascript 在Stackblitz上使用HttpClient读取data.json?
它尝试使用Angular HttpClient读取Javascript 在Stackblitz上使用HttpClient读取data.json?,javascript,angular,typescript,stackblitz,Javascript,Angular,Typescript,Stackblitz,它尝试使用Angular HttpClient读取app/data.json const post$:Observable<Post> = <Observable<Post>> http.get('./data.json'); constpost$:Observable=http.get('./data.json'); 然而,HttpClientresponse说: 分析过程中失败 想法?目前,您无法通过HTTP直接获取JSON,但可以将其导入 data.
app/data.json
const post$:Observable<Post> = <Observable<Post>> http.get('./data.json');
constpost$:Observable=http.get('./data.json');
然而,HttpClient
response说:
分析过程中失败
想法?目前,您无法通过HTTP直接获取JSON,但可以将其导入 data.json 它返回index.html的资源,而不是您期望的数据
我认为在stackblitz中有一些关于读取本地json的信息,它不会返回纯json,而是返回index.html。但另一种方法是模拟来自本地json的请求,您可以尝试:
import data from './data.json'
ngOnInit(){
this.getDatas().subscribe(data=>{
console.log(data)
})
}
getDatas():Observable<any>{
return of(data).pipe(delay(1000));
}
从“./data.json”导入数据
恩戈尼尼特(){
this.getDatas().subscribe(数据=>{
console.log(数据)
})
}
getDatas():ObservableStackblitz目前不提供静态文件,除非它们位于资产
文件夹中
这里有两个选项:
1) 直接作为模块导入json
import data from './data.json';
console.log(data) // => {title: "Simulating HTTP Requsts", content: "This is off the hook!!"}
有关更多详细信息,请参阅其他答案
2) 移动资产文件夹中的json(注意:您必须将stackblitz重新加载到
让它工作起来):
import data from './data.json';
console.log(data) // => {title: "Simulating HTTP Requsts", content: "This is off the hook!!"}
http.get('/assets/data.json')