angular - JSON.stringify 在 Angular Universal 中的 SSR 期间引发错误,但适用于 locahost“TypeError:将循环结构转换为 JSON”
问题描述
我的角度组件中有以下内容
JSON.stringify({ "webSlug": slug });
当使用 为应用程序提供服务时,它在 localhost 上运行良好ng serve
,但是当通用尝试在节点应用程序上进行服务器端渲染时。服务器控制台显示以下错误...我该如何重写或解决错误?
ERROR { TypeError: Converting circular structure to JSON
0|amec | at JSON.stringify (<anonymous>)
0|amec | at readableObjectToString (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:669:63)
0|amec | at resolvePromise (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:831:69)
0|amec | at resolvePromise (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:788:17)
0|amec | at /home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:892:17
0|amec | at ZoneDelegate.invokeTask (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:423:31)
0|amec | at Object.onInvokeTask (/home/ec2-user/packages/core/src/zone/ng_zone.ts:262:25)
0|amec | at ZoneDelegate.invokeTask (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:422:60)
0|amec | at Zone.runTask (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:195:47)
0|amec | at drainMicroTaskQueue (/home/ec2-user/amec_compiled/node_modules/zone.js/dist/zone-node.js:601:35)
0|amec | rejection:
0|amec | HttpErrorResponse {
0|amec | headers: HttpHeaders { normalizedNames: Map {}, lazyUpdate: null, headers: Map {} },
0|amec | status: 0,
0|amec | statusText: 'Unknown Error',
0|amec | url: null,
0|amec | ok: false,
0|amec | name: 'HttpErrorResponse',
0|amec | message: 'Http failure response for (unknown url): 0 Unknown Error',
0|amec | error:
0|amec | ProgressEvent {
0|amec | type: 'error',
0|amec | target: [XMLHttpRequest],
0|amec | currentTarget
解决方案
我曾经遇到过这个错误,原因实际上是 Angular Universal 发送的 HTTP 请求不成功。因此,关于将循环结构转换为 json 的部分具有误导性。
根据以下消息,我认为这里对您来说是一样的
message: 'Http failure response for (unknown url): 0 Unknown Error',
确保 Angular Universal 可以向您的 API 或您正在调用的任何 url 发送请求。可能只是目标服务器的 SSL 证书无效(如果我没记错的话,那是我的问题)
推荐阅读
- reactjs - 如何使用矩阵更新 React 的状态
- python - Python - 访问模型,其名称取决于变量值
- vue.js - 如何修复“加载资源失败:服务器响应状态为 502()。使用 Nuxt.js
- powershell - 获取真正的上次安装的修补程序
- javascript - HTML5 动画在材质 ui 图标形状上创建“泡沫”效果
- python - 网络中的颜色和权重
- python-3.x - 如何使用 Web 驱动程序方法在 Robot 框架内启动浏览器
- php - 更改 Laravel Jetstream 应用程序中的徽标
- google-apps-script - 使用脚本Google表格将数据从一个单元格范围移动到另一个单元格
- deep-learning - 在pytorch中训练后如何清除显卡内存?