2017-01-17 17 views
0

Я чувствую себя глупо. Я хочу попросить свои API с помощью POST, которые дают мне json. Как я могу получить доступ к одному из полей json и отправить на страницу, которая вызывает это?Ионный 2: как обрабатывать отклик от POST

У меня есть этот провайдер:

import { Injectable } from '@angular/core'; 
import { Http } from '@angular/http'; 
import {Observable} from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class AuthService { 
    data: any; 
    result: any; 
    http: Http; 

    public login(credentials) { 

    if (credentials.email === null || credentials.password === null) { 
     return Observable.throw("Please insert credentials"); 
    } else { 
     return Observable.create(observer => { 
     // At this point make a request to your backend to make a real check! 
     this.data = {api_token: "asdfg", http_id: credentials.email, http_pass: credentials.password}; 
     this.http.post('http://mywebsite/api/login', JSON.stringify(this.data), {headers: {'Content-Type': 'application/json'}}) 
     .map(res => res.json()) 

     let access = (credentials.password === "pass" && credentials.email === "email"); 
     observer.next(access); 
     observer.complete(); 
     }); 
    } 
    } 

    public logout() { 
    return Observable.create(observer => { 
     observer.next(true); 
     observer.complete(); 
    }); 
    } 
} 

спасибо!

ответ

0

Если вы пытаетесь получить данные от ответа, это достаточно

public login(credentials) { 
if (credentials.email === null || credentials.password === null) { 
    return Observable.throw("Please insert credentials"); 
} else { 
    let data = {api_token: "asdfg", http_id: credentials.email, http_pass: credentials.password}; 
    return this.http.post('http://mywebsite/api/login', JSON.stringify(data), {headers: {'Content-Type': 'application/json'}}) 
    .map(res => res.json()) 
}} 

В компоненте вы можете получить доступ к ним, как

provider.login(cred).subscribe(res => { 
console.log(res) }, 
err => { 
console.log(err) 
) 
Смежные вопросы