Angular2 / Fehler: Auflistung nicht gefunden

Ich bin ganz neu Angular2 und versuchte, eine Todo-app.

Hier ist meine Datei-Struktur:

Angular2 /Fehler: Auflistung nicht gefunden

Meine todo.service.ts code (in gemeinsamen Ordner)

import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';

import 'rxjs/add/operator/toPromise';

import { ITodo } from './todo.model';

@Injectable()
export class TodoService {
 constructor(private http: Http){}

 getTodos(): Promise<ITodo[]> {
    return this.http.get('api/todos')
            .toPromise()
            .then(res => res.json().data)
            .catch(this.handleError); 
}

addTodo(todo: ITodo): Promise<ITodo> {
    return this.post(todo);
}

deleteTodo(todo: ITodo): Promise<ITodo> {
    return this.delete(todo);
}

private post(todo: ITodo): Promise<ITodo> {
    let headers = new Headers({
        'Content-Type': 'application/json'
    });

    return this.http.post('api/todos', JSON.stringify(todo), { headers })
    .toPromise()
    .then(res => res.json().data)
    .catch(this.handleError)
}

private delete(todo: ITodo): Promise<ITodo> {
    let headers = new Headers({
        'Content-Type': 'application/json'
    });

    let url = `api/todos/${todo.id}`;

    return this.http.delete(url, { headers })
    .toPromise()
    .then(res => todo)
    .catch(this.handleError)
}

private handleError(error: any): Promise<any> {
    console.log('The error occured >>>', error);
    return Promise.reject(error.message || error);
  }
}

Meine main.ts code

import { bootstrap }    from '@angular/platform-browser-dynamic';
import { HTTP_PROVIDERS, XHRBackend } from '@angular/http';
import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory- web-api'; 
import { TodoSeedData } from './shared/todo.data';

import {AppComponent} from './app.component';

bootstrap(AppComponent,[
  HTTP_PROVIDERS,
  { provide: XHRBackend, useClass: InMemoryBackendService },
  { provide: SEED_DATA, useClass: TodoSeedData },
 ]);

Alles hatte funktioniert ohne Fehler, bis ich brauchte, http.

Gefunden Art ähnliches problem hier

aber es funktioniert nicht für mich.

Konsole.Protokoll zeigt Fehler: Sammlung 'todos' wurde nicht gefunden.
Angular2 /Fehler: Auflistung nicht gefunden

Ich denke, es ist ein Problem mit der http.
Bitte helfen Sie.

  • Das sieht aus wie ein Problem mit Ihrer Anfrage bekommen. Ich würde setzen Sie einen Haltepunkt auf return this.http.get('api/todos'). Hit F11, um Schritt in der Funktion. Und dann prüfen url dieser Funktion. Http.prototype.get = function (url, options) { }; Stellen Sie sicher, dass die url ist, was Sie denken es sein sollte. Wenn Sie bewerten Sie in der Verwaltungskonsole, und klicken Sie auf den link, es sollte sich öffnen in einem neuen tab mit der json-Objekt, das Sie erwarten.
  • Haben Sie jemals herausfinden? Ich habe ein ähnliches Problem mit einem WebAPI Aufruf - URL korrekt ist, aber es gibt die gleiche Fehlermeldung
Schreibe einen Kommentar