首页 > 解决方案 > 无法读取角度 5 中的 json 文件?

问题描述

嗨,我正在 Angular 5 中开发 Web 应用程序。我正在尝试使用 http 调用读取 json 文件,如下所示。我收到 404 错误。下面是我的 service.ts 文件。Json 文件也保留在同一文件夹中,因此路径可能是正确的。

 public GetNodes() {
        return this.http.get('./json1.json');
    } 

下面是我的组件代码。

 ngOnInit() {
        this.nodeservice.GetNodes().subscribe(data =>
            console.log(data)
    );

我已经完成了一项工作,发现我的静态文件应该在 assets 文件夹中。我将 json1.json 移动到 assets 文件夹并尝试访问。我仍然收到相同的 404 错误。下面是我的 json 文件保存的完整路径

项目名称\ClientApp\app\components\Utilities

我正在使用 ./json1.json 因为我的服务和 json 文件位于同一个文件夹实用程序中。

有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢你。

标签: jsonangularhttp

解决方案


要访问任何资产数据,如图像或文件,您需要将它们放在资产文件夹中并从那里访问它,因为角度加载资产文件夹中的所有公共数据,因此任何资产都无法从组件的文件夹中访问。

对于文件“./json1.json”,URL 将是HOST_Name/json1.json,将所有文件放在 assets 文件夹中并提供 assets 文件夹的路径不会更好。

您还可以更改“angular.json”中的资产配置以指向组件的文件夹以访问该 json 文件。


推荐阅读