如何修复"Error at XMLHttpRequest.send angular universal"错误

4
在编译应用程序后,我多次收到此错误: 在此输入图像描述 错误文本:
ERROR Error
    at XMLHttpRequest.send (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:169324:19)
    at Observable.rxjs__WEBPACK_IMPORTED_MODULE_1__.Observable [as _subscribe] (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:19023:17)
    at Observable._trySubscribe (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:154852:25)
    at Observable.subscribe (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:154838:22)
    at DoOperator.call (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:162245:23)
    at Observable.subscribe (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:154833:31)
    at scheduleTask (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:97108:32)
    at Observable.rxjs__WEBPACK_IMPORTED_MODULE_7__.Observable [as _subscribe] (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:97170:13)
    at Observable._trySubscribe (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:154852:25)
    at Observable.subscribe (C:\Users\seva-\projects\pileuniversal\dist\pileuniversal\server\main.js:154838:22)

在创建SSR之后,app.server.module中没有导入任何东西。出现了localStorage和带有DOM的window的问题,但是解决方法已经存在。


你好,欢迎!您能否提供一个代码示例或最小可重现示例,以说明您正在尝试实现的内容?仅凭堆栈跟踪,任何人都很难帮助您。 - Nik P
你能展示一下你的服务调用的例子吗? - David
3个回答

4

我面临着同样的问题。您可以查看此文章:

https://www.infragistics.com/products/ignite-ui-angular/angular/components/general/framework-and-features/ssr-rendering.html

XMLHttpRequest.send的问题在于Node服务器上不存在此“对象”。

我建议您跟踪错误来源。在我的情况下,它来自ngx-translate模块,该模块尝试通过XMLHttpRequest获取JSON文件。要解决此问题,您需要执行以下操作:

  1. 确定此调用从何处发出
  2. 应用拦截器以正确处理请求

在我的情况下,我遵循了这个教程:https://itnext.io/angular-universal-how-to-add-multi-language-support-68d83f6dfc4d

我添加了拦截器并解决了问题。

希望能帮到您。


1
这个在 Angular 13 上还能用吗?我尝试了上面的解决方案,但仍然出现错误。 - waseemrakab

1

我曾经遇到过这个问题,刚才我改变了请求的URL。

'/assets/data/products.json'

改为

'http://localhost...'.

现在它对我有效了。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接