Angular 通用视图页面源不显示 API 数据

问题描述 投票:0回答:2

我有一个 Angular 6 应用程序,它在本地开发环境和生产机器上都运行良好。数据通过 API 提供给应用程序。应用程序通过使用可观察、解析和承诺技术很好地显示数据。

我出于 SEO 目的制作了应用程序的通用版本(服务器端渲染或 SSR),效果也很好。

我只有一个问题;

当我将应用程序发布到生产环境时,它会很好地显示来自 API 的内容,但是当我在浏览器上查看“页面源”时,我无法看到在页。

请注意,我的数据来自“Route Resolve”,这不是异步/等待问题的情况。

提前谢谢您。

angular api view universal
2个回答
1
投票

很抱歉回复晚了,因为这是去年的问题,而且因为我弄清楚了问题是什么,所以我再也没有看过这个问题。我尝试在这里尽可能多地解释。

数据通过 AWS API 网关传输,该网关通过凭证和密钥连接到应用程序。数据在页面上显示得很好,但当我查看页面源代码时却不然。我以为 API 有问题,但花了几天时间弄清楚后,我发现 API 接收到的数据很好。

我刚刚在 Chrome 页面上使用了“检查”(右键单击并检查),并查看了“控制台”选项卡,发现应用程序中的许多方法抛出了错误。当我调查错误时,我发现有大量与我从 API 获取的数据类型相关的数据类型不匹配。

因此,问题出在应用程序而不是 API。像这样的愚蠢问题花了我将近一周的时间才解决。我希望这能为您带来一些启发。


0
投票

我也遇到了类似的问题,测试了很多解决方案,解决方案很简单。当访问 API 时,我使用的是路径“/api”,我将其更改为绝对路径,例如“https://example.com/api”或“http://localhost/api”,这解决了问题。从 API 获取的数据显示在浏览器的“查看源”中,可供搜索引擎机器人访问。

© www.soinside.com 2019 - 2024. All rights reserved.