Угловой для .net Core Web API.Получение rxjs_Observable__WEBPACK_IMPORTED_MODULE_2 __. Observable.throw не является функцией - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь получить список записей из моего веб-API .net core, который размещен на моем локальном IIS.Я следовал учебнику о том, как это сделать.Я получил это для работы и отображения со следующим кодом, который вызывает тестовый веб-сайт json.

  getUsers() {
    return this.http.get('http://jsonplaceholder.typicode.com/users')
      .map(response => response.json())
      .catch(this.handleError);
  }

Далее, я хочу переключить URL-адрес на мой локальный.

 getUsers() {
    return this.http.get('http://localhost:8081/api/account')
      .map(response => response.json())
      .catch(this.handleError);
  }

ЯЯ не уверен, почему на угловой странице будет отображаться содержимое сайта тестирования json, а не мой локальный iis.Когда я тестировал webapi, он работает с почтальоном и URL-адресом chrome.

Я также добавил импорт 'rxjs / add / Observable / throw', но выбрасывал ту же ошибку.

Почему он работает сJSON-канал с тестового сайта, но не мой веб-API.Это мое замешательство и как это исправить.

Любая помощь очень ценится.

Что я нажал на f12, я вижу следующие ошибки

core.js: 1673 ОШИБКА TypeError: rxjs_Observable__WEBPACK_IMPORTED_MODULE_2 __. Observable.throw не является функцией в CatchSubscriber.push ../src / app / services / user.service.ts.UserService.handleError [как селектор]CatchSubscriber.push ../ node_modules / rxjs / _esm5 / internal / operator / catchError.js.CatchSubscriber.error (catchError.js: 34) в MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.._error (Subscriber.js: 83) в MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / Subscriber.js.Subscriber.error (Subscriber.js: 61) в XMLHttpRequest.onError (http.js: 1066) вZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invokeTask (zone.js: 421) в Object.onInvokeTask (core.js: 3811) в ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invokeTask (zone.js: 420) вZone.push ../ node_modules / zone.js / dist / zone.js.Zone.runTask (zone.js: 188) в ZoneTask.push ../ node_modules / zone.js / dist / zone.js.ZoneTask.invokeTask[as invoke] (zone.js: 496)

код user.service.ts

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

import 'rxjs/Rx';
import { Observable } from 'rxjs/Observable';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
import { User } from '../models/user';
import { throwError } from 'rxjs';

@Injectable({
  providedIn: 'root'
})

export class UserService {
  constructor(private http: Http) { }

  getUsers() {
    return this.http.get('http://localhost:8081/api/account')
      .map(response => response.json())
      .catch(this.handleError);
  }
  private handleError(error: Response) {
    console.error(error);
    return Observable.throw(error.json() || 'Server error');
  }
}

Вот мой код компонента пользователя:

import { Component, OnInit } from '@angular/core';

import { UserService } from '../../services/user.service';
import { Observable } from 'rxjs';
import { User } from '../../models/user';
import 'rxjs/add/Observable/throw'

@Component({
  selector: 'app-users',
  templateUrl: './users.component.html',
  styleUrls: ['./users.component.scss']
})

export class UsersComponent implements OnInit {

  errorMessage: string;
  users$; Object;

  constructor(private userService: UserService) { }

  ngOnInit() {
    this.getUsers();
  }

  getUsers() {
    // need to subscriber to the Observable method to get data
     this.users$ = this.userService.getUsers()
         .subscribe(( userData )=> this.users$ = userData );
  }

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