Используя Angular 6, почему http.get () не получает мои статические данные? - PullRequest
0 голосов
/ 25 июня 2018

У меня установлен сервер Node.js в Linux, работающий с SSL и пакетом CORS.Я могу получить доступ к своему веб-сайту из Windows в Firefox по протоколу HTTPS:

https://<host-name>:<port>/

Но в моем коде Angular, используя:

http.get("https://<host-name>:<port>/test/data")

Я получаю только это сообщение об ошибке *Array.from is not a function*. Я не вижу, чтобы браузер совершал HTTPS-вызов при просмотре экранов инструментов разработчика.

Если я запускаю сервер и использую локальный браузер, все работает!

Может ли это быть проблемой полифилса, другой проблемой CORS или чем-то еще?

Вот частькак выглядит мой сервис:

...
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, of } from 'rxjs';
...
export class ObtainData
{
    private val: any;
    private obsvbl: Observable<any>;
    private url = 'https://<host-name>:<port>/test/data';

    constructor(private http: HttpClient);

    getData(): Observable<any>
    {
        this.obsvbl = this.http.get<any>(this.url);

        this.obsvbl.subscribe((data: any) =>
                              {
                                  console.log("data is: " + data.val);
                                  // 'val' is a string contained in
                                  // a JSON structure.

                                  this.val = data;
                              },
                              err => console.log("Err is: " + err.message),
                              () => console.log("Done!"));

        return this.obsvbl;
    }
}

Я строю с помощью этой команды:

ng build --aot --base-href=/testing-area/

Я не могу вырезать / вставить всю трассировку стека, но я наберу столько, сколько яможно здесь:

"Err is: Array.from is not a function" (main.js:290)
"ERROR" TypeError: a[getSymbolIterator(...)] is not a function (main.js:393)
 stack trace:
 areIterablesEqual@https://<host-name>:<port>/testing-area/vendor.js:13061:9
 devModeEqual@https://<host-name>:<port>/testing-area/vendor.js:12990:9
 {more stuff}
"ERROR CONTEXT" Object(view: Object, nodeIndex: 4, nodeDef: Object, elDef: 
                       Object, elView: Object) (main.js:393)
"ERROR" TypeError: a[getSymbolIterator(...)] is not a function (main.js:393)
 stack trace:
 {same stuff}

1 Ответ

0 голосов
/ 02 июля 2018

Чтобы решить эту проблему, я просто обновил свой браузер Firefox с версии 31 до версии 38.5.2.Как только я сделал это и перезагрузил свое приложение, ни одна из ошибок (ранее перечисленных в моем вопросе) не появилась.И, наконец, мои статические данные пришли, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...