HttpErrorResponse в приложении Angular несмотря на ответ HTTP 200 от сервера - PullRequest
0 голосов
/ 26 июня 2019

Я написал простой API на Python, используя Flask.Я также написал простое приложение на Angular, используя stackblitz.com.Когда я пытаюсь получить данные с сервера, сервер возвращает ответ HTTP 200, но консоль регистрируется HttpErrorResponse со следующей информацией: error: ProgressEvent headers: HttpHeaders message: "Http fail response for http://127.0.0.1:5000/test: 0 UnknownОшибка "name:" HttpErrorResponse "ok: false status: 0 statusText:" Unknown Error "url:" http://127.0.0.1:5000/test" proto : HttpErrorResponse

Я протестировал API в Почтальонеи это работает.

API

    from flask import Flask, jsonify, request
    app = Flask(__name__)

    @app.route('/test')
    def test():

        return jsonify(
                { 
                "protoid": 1,
                "operator": "Example",
                }
        )

    app.run()

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';

import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import { GetterService } from './getter.service';
import { TestComponent } from './test/test.component';

@NgModule({
  imports:      [ BrowserModule, FormsModule, HttpClientModule ],
  declarations: [ AppComponent, HelloComponent, TestComponent ],
  bootstrap:    [ AppComponent ],
  providers: [GetterService]
})
export class AppModule { }

getter.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs'

@Injectable()
export class GetterService {

  constructor(private http: HttpClient) { }

  _url = 'http://127.0.0.1:5000/test'

  getObject(): Observable <Object> {
    return this.http.get(this._url)
  }

}

test.component.ts

import { Component, OnInit } from '@angular/core';
import { GetterService } from '../getter.service';

@Component({
  selector: 'app-test',
  templateUrl: './test.component.html',
  styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {

  constructor(private getter: GetterService) { }

  ngOnInit() {
  }

  object: Object;

  getObject() {
    return this.getter.getObject()
               .subscribe(data => this.object = data)
  }

}

Я хочу сохранить объект JSON в переменную объекта, но получаю HttpErrorResponse

...