I'm trying to run a simple HTTP request in Angular and am running into the following error:
angular2.dev.js:23941 Error: Uncaught (in promise): EXCEPTION: Error during instantiation of AlbumListComponent!. ORIGINAL EXCEPTION: TypeError: backend.createConnection is not a function
To simplify I broke down the HTTP functionality to its simplest removing the service and just directly accessing the HTTP service and Observable:
import {Component} from 'angular2/core';
import {Album} from './album';
import {AppState} from './appstate';
import {Observable} from 'rxjs/Observable';
import {Http} from 'angular2/http';
@Component({
selector: 'album-list',
templateUrl: 'Views/albumList.html',
providers: [AlbumService, Http, Response]
})
export class AlbumListComponent {
albums: Array<Album> = [];
title: string = "Album Listing";
errorMessage: string;
constructor(public state: AppState,
public albumService: AlbumService,
public http: Http) {
console.log('AlbumList Constructor' + this.title);
state.activeTab = "albums";
debugger;
http.get(state.urls.albums)
.map(res => {
debugger;
return res.json()
})
//.catch(error => {
// debugger;
// console.error(error);
// return Observable.throw(error.json().error || 'Server error');
//})
.subscribe(albums => this.albums = albums)
//this.getAlbums(); // service removed to simplify
}
}
Bootstrap code (and http.dev.js is included in the script list):
import {bootstrap} from 'angular2/platform/browser';
import {Albumviewer} from './albumviewer.component';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {HTTP_PROVIDERS} from 'angular2/http';
import {AppState} from './appstate'
import 'rxjs/Rx';
bootstrap(Albumviewer,[
ROUTER_PROVIDERS,
HTTP_PROVIDERS,
]);
I either get the described error, or errors about missing providers (like ConnectionBackend).
If I remove the Http access code the app runs OK. With the code in there it bombs. I have no idea what to look at here - as the error message clearly refers to a child component used by the HTTP service.