javascript - 如何解决 XMLHttpRequest.send 处的 ERROR NetworkError (...dist\fxcore\server\main.js:200768:19)
问题描述
我是 Angular 的新手。我刚刚完成了我的 Angular Web 应用程序的开发。当我在生产期间使用 ng serve 为我的应用程序提供服务时,一切正常。我添加了角度通用。现在,当我运行任何 npm run dev:ssr 或 npm run build:ssr && npm run serve:ssr 时,我的应用程序将拒绝打开,并在控制台中抛出 NetworkError 响应。我注意到这个错误发生在通过类'constructors(){..}'发送的http请求的次数上。我浏览了几种解决方案,但无法知道我做错了什么。我的后端是用 nodejs 和 express 开发的。我会很感激我能得到的任何帮助。这是我总是在控制台中得到的错误响应的完整示例。
ERROR NetworkError
at XMLHttpRequest.send (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:200768:19)
at Observable._subscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:19025:17)
at Observable._trySubscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:186304:25)
at Observable.subscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:186290:22)
at scheduleTask (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:105897:32)
at Observable._subscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:105959:13)
at Observable._trySubscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:186304:25)
at Observable.subscribe (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:186290:22)
at subscribeToResult (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:196385:23)
at MergeMapSubscriber._innerSub (C:\Users\MRBEN\Desktop\Angular\fxcore\dist\fxcore\server\main.js:191575:116)```
解决方案
我仍然得到这个ERROR NetworkError
,但我找到了另一种让这个错误消失的方法。我认为这个答案是相关的,因为我收到了上面发布的相同错误。如果这可以帮助任何有相同服务器错误的人,那就太好了。
如果在重新加载时向服务器发出 api 请求,请在使用示例时首先OnInit
检查。isPlatformBrowser
ng-universal
import { Component, OnInit, PLATFORM_ID, Inject } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
import { HttpClient, HttpHeaders } from '@angular/common/http';
public testBrowser: boolean;
export class HomeComponent implements OnInit {
public testBrowser : boolean;
public data : any;
constructor(private http: HttpClient, @Inject(PLATFORM_ID) platformId: string) {
this.testBrowser = isPlatformBrowser(platformId);
}
ngOnInit() {
if (this.testBrowser) {
//avoid server NETWORK error
this.data = this.http.get('/api');
}
}
}
isPlatformBrowser === true
在首先检查之前尝试从客户端进行服务器调用时,我遇到了同样的错误OnInit
,这解决了我的问题。希望这可以帮助这个错误。
作为参考,这个答案帮助我解决了这个长期存在的错误。https://stackoverflow.com/a/46893433/4684183
推荐阅读
- scenekit - 如何移动从 Blender 导入的节点
- c - 在 Ubuntu for Windows IIS Server 上运行,C 代码为 recv() 返回 -1
- ios - 如何使嵌入的 YouTube 视频在 IOS 的 Cordova 应用程序的 IFrame 中工作?
- php - PHP 在 adobe reader 中打开 PDF 文件
- javascript - 让我的代码在一个浏览器选项卡的后台运行
- sql - ASP Classic:新表的记录集记录计数 -1 但旧表可以吗?
- azure - 如果用户已经使用 AzureAD 对 MainApp 进行了身份验证,是否应该要求 MainApp 中包含的应用重新使用 AzureAD 进行身份验证
- firebase - 如何将颤振应用程序与 2 firebase 数据库集成
- ios - 如何在 UIView 之外读取 ApplePencil 压力数据?
- python - Pandas DataFrame to_excel中的多个标头