So Im practicing http post and get methods of Angular2 from YouTube tutorial and I cant figure out the problem Here is my index.html files:
<html>
<head>
<title>MyTodo App</title>
<script src="node_modules/es6-shim/es6-shim.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>
</head>
<body>
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app.js')
.then(null, console.error.bind(console));
</script>
<http-comp>Loading..</http-comp>
</body>
</html>
This is http service file:
import { Injectable } from 'angular2/core';
import { Http } from 'angular2/http';
import 'rxjs/add/operator/map' ;
@Injectable()
export class webhttpservice{
constructor(private http : Http){}
getfunctionfromapp(){
return this.http.get('www.google.com')
.map(res => res.json());
}
}
Here is app.ts file:
import { Component } from 'angular2/core';
import { bootstrap } from 'angular2/platform/browser';
import { webhttpservice } from './httpService';
import { HTTP_PROVIDERS } from 'angular2/http';
@Component({
selector : 'http-comp',
template : `
<button (click) = 'reqfunction()'>Get Request</button>
<p></p>
<br>
<button>Post Request</button>
<p></p>
`,
providers : [webhttpservice]
})
export class httpcomponent{
getdata;
constructor(private var1: webhttpservice){}
reqfunction(){
this.var1.getfunctionfromapp()
.subscribe(
data => this.getdata = JSON.stringify(data),
error => alert(error),
() => console.log('Finished')
);
}
}
bootstrap(httpcomponent, [HTTP_PROVIDERS]);
These are the original errors Im getting
>Uncaught (in promise) TypeError: object is not a constructor(…)
httpService:1 Uncaught SyntaxError: Unexpected token <__exec @
angular2-polyfills.js:138
Uncaught SyntaxError: Unexpected token <
Evaluating http://localhost:3000/httpService
Error loading http://localhost:3000/app.jsrun
@ angular2-polyfills.js:138zoneBoundFn @ angular2-
The request to load the TypeScript file containing your webhttpservice
class is a bit strange:
Evaluating http://localhost:3000/httpService
It should be: http://localhost:3000/app/httpService.js with your configuration...
Do you put the httpService.ts
file under the app
folder? According to your SystemJS configuration, you should.