首页 > 解决方案 > 如何解决 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)```

标签: javascriptnode.jsangularxmlhttprequestangular9

解决方案


我仍然得到这个ERROR NetworkError,但我找到了另一种让这个错误消失的方法。我认为这个答案是相关的,因为我收到了上面发布的相同错误。如果这可以帮助任何有相同服务器错误的人,那就太好了。

如果在重新加载时向服务器发出 api 请求,请在使用示例时首先OnInit检查。isPlatformBrowserng-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


推荐阅读