1
1
/// <reference path="../../typings/tsd.d.ts" />
2
2
3
3
import { Component , View } from 'angular2/angular2' ;
4
- import { status , json } from '../utils/fetch'
4
+ import { status , json } from '../utils/fetch' ;
5
+ import { Http } from 'angular2/http' ;
5
6
import { Router , RouterLink } from 'angular2/router' ;
6
7
7
8
@@ -18,13 +19,12 @@ let template = require('./login.html');
18
19
directives : [ RouterLink ]
19
20
} )
20
21
export class Login {
21
- constructor ( public router : Router ) {
22
+ constructor ( public router : Router , public http : Http ) {
22
23
}
23
24
24
25
login ( event , username , password ) {
25
26
event . preventDefault ( ) ;
26
- window . fetch ( 'http://localhost:3001/sessions/create' , {
27
- method : 'POST' ,
27
+ this . http . post ( 'http://localhost:3001/sessions/create' , {
28
28
headers : {
29
29
'Accept' : 'application/json' ,
30
30
'Content-Type' : 'application/json'
@@ -33,16 +33,19 @@ export class Login {
33
33
username, password
34
34
} )
35
35
} )
36
- . then ( status )
37
- . then ( json )
38
- . then ( ( response ) => {
39
- localStorage . setItem ( 'jwt' , response . id_token ) ;
40
- this . router . parent . navigate ( '/home' ) ;
41
- } )
42
- . catch ( ( error ) => {
43
- alert ( error . message ) ;
44
- console . log ( error . message ) ;
45
- } ) ;
36
+ . toRx ( )
37
+ . map ( status )
38
+ . map ( json )
39
+ . subscribe (
40
+ response => {
41
+ localStorage . setItem ( 'jwt' , response . id_token ) ;
42
+ this . router . parent . navigate ( '/home' ) ;
43
+ } ,
44
+ error => {
45
+ alert ( error . message ) ;
46
+ console . log ( error . message ) ;
47
+ }
48
+ ) ;
46
49
}
47
50
48
51
signup ( event ) {
0 commit comments