I had this happen as well. I needed to do this in the constructor:

constructor(@Inject(Http) http: Http) {
    console.log('DataService constructor .....');
    this.http = http;
}


In addition, HTTP_PROVIDERS must be set in the providers, i.e.

providers: [MockService, HTTP_PROVIDERS, DataService],


Is it me, or does this see overly complicated?



On Thursday, January 14, 2016 at 1:52:40 PM UTC-5, Justin Bleach wrote:
>
> I'm using SystemJS; which I am also new to. I've done some reading but not 
> sure if this would be correct to add to my current config:
>
> System.config({
>
>         packages: {        
>
>           app: {
>
>             format: 'register',
>
>             defaultExtension: 'js'
>
>           }
>
>         }
>
>       });
>
>       System.import('app/boot')
>
>             .then(null, console.error.bind(console));
>
>       System.register('node_modules/angular2/http');
>
> On Thursday, January 14, 2016 at 1:08:05 PM UTC-5, Pawel Kozlowski wrote:
>>
>> What is your setup (SystemJS? WebPack? something else?). If it is 
>> SystemJS you need to include http bundle, see: 
>>
>> https://github.com/angular/angular/blob/master/modules/angular2/docs/bundles/overview.md
>>  
>>
>> Cheers, 
>> Pawel 
>>
>> On Thu, Jan 14, 2016 at 6:06 PM, Justin Bleach <[email protected]> 
>> wrote: 
>> > I can import core without any problems doing this: 
>> > 
>> > import {Component} from 'angular2/core'; 
>> > 
>> > But for some strange reason when I import http and use it: 
>> > 
>> > import {HTTP_PROVIDERS, Http} from 'angular2/http'; 
>> > 
>> > I get this stack trace in the Chrome console: 
>> > 
>> > Error: XHR error (404 Not Found) loading 
>> > http://localhost:8080/pocApp/angular2/http 
>> > Error loading http://localhost:8080/pocApp/angular2/http as 
>> "angular2/http" 
>> > from http://localhost:8080/pocApp/app/main-menu.service.js 
>> >     at error 
>> > (
>> http://localhost:8080/pocApp/node_modules/systemjs/dist/system.src.js:1020:16)
>>  
>>
>> >     at XMLHttpRequest.xhr.onreadystatechange [as _onreadystatechange] 
>> > (
>> http://localhost:8080/pocApp/node_modules/systemjs/dist/system.src.js:1028:13)
>>  
>>
>> >     at Zone.run 
>> > (
>> http://localhost:8080/pocApp/node_modules/angular2/bundles/angular2-polyfills.js:138:17)
>>  
>>
>> >     at XMLHttpRequest.zoneBoundFn 
>> > (
>> http://localhost:8080/pocApp/node_modules/angular2/bundles/angular2-polyfills.js:111:19)
>>  
>>
>> > 
>> > I'm not new to Angular but of course I am new to Angular2. I've 
>> followed the 
>> > 5 min quickstart followed by the Hero's example. So I can see in my 
>> > node_modules/angular2 directory both the core.js and http.js files. 
>> > 
>> > I feel like I've got something wrong that is simple to fix but I 
>> honestly 
>> > can't see what. 
>> > 
>> > Here is the entire JS where http is used if it helps: 
>> > 
>> > import {Injectable} from 'angular2/core'; 
>> > 
>> > import {HTTP_PROVIDERS, Http} from 'angular2/http'; 
>> > 
>> > 
>> > @Injectable() 
>> > 
>> > export class MainMenuService { 
>> > 
>> >     http:Http; 
>> > 
>> >     constructor(http:Http) { 
>> > 
>> >         this.http = http; 
>> > 
>> >      } 
>> > 
>> > 
>> > 
>> >    getMainMenuItems() { 
>> > 
>> >         return 
>> > this.http.get('http://localhost:8080/pocApp/class/list').map(res => 
>> > res.json()) 
>> > 
>> >     } 
>> > 
>> > } 
>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
>> Groups 
>> > "AngularJS" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an 
>> > email to [email protected]. 
>> > To post to this group, send email to [email protected]. 
>> > Visit this group at https://groups.google.com/group/angular. 
>> > For more options, visit https://groups.google.com/d/optout. 
>>
>>
>>
>> -- 
>> AngularJS book: 
>> http://www.packtpub.com/angularjs-web-application-development/book 
>> Looking for bootstrap-based widget library for AngularJS? 
>> http://angular-ui.github.com/bootstrap/ 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to