Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Stackblitz上使用HttpClient读取data.json?_Javascript_Angular_Typescript_Stackblitz - Fatal编程技术网

Javascript 在Stackblitz上使用HttpClient读取data.json?

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.

它尝试使用Angular HttpClient读取
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():Observable

Stackblitz目前不提供静态文件,除非它们位于
资产
文件夹中

这里有两个选项:

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')