【问题标题】:Unable to read json files in angular 5?无法读取角度 5 中的 json 文件?
【发布时间】:2019-01-02 12:13:48
【问题描述】:

您好,我正在使用 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 文件位于同一个文件夹实用程序中。

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

【问题讨论】:

  • 您好,我已经浏览了链接。我的项目中没有 angular.json 文件,所以我可以在哪里添加 { "glob": "data.json", "input": "./", "output": "./assets/" }
  • 您可以将文件添加到构建路径。请参阅 angular-cli.json 文件为您的 JSON 文件夹添加新条目
  • 文件是否在assets 文件夹中?或者在这条路径中:Projectname\ClientApp\app\components\Utilities?如果您想查看读取 JSON 文件的完整工作示例,我在这里有一个:github.com/DeborahK/Angular-GettingStarted/tree/master/…

标签: json angular http


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多