2016-02-20 2 views
5

Я пытаюсь вернуть информацию из своего api, но я не понимаю, как правильно использовать подписку. С массивом я возвращаю пустой массив из моей службы и вставляю значения в него, когда я их получаю.TypeScript Angular 2 Ответы Подпишитесь

Как правильно вернуть только одну переменную значения в app-component ts. Сейчас если я делаю alert(JSON.stringify(authenticated)) он просто дает мне {"_isUnsubscribed":false,"_subscriptions":[{"isUnsubscribed":false}]}

приложение-компонент ц

checkAuthentication(){ 
    var authenticated = this._authService.getAuthenication(); 
} 

аутентификации Служба

getAuthenication() { 
     return this._http.get('auth.php').subscribe(res => { 
     if (res.json().authenticated === true){ 
      return true; 
     } 
     return false; 
     }); 
    } 

auth.php

<? 
session_start(); 
$authenticated = (isset($_SESSION["authenticated"]) ? true : false); 
$post_data = json_encode(array(authenticated => $authenticated)); 
echo $post_data; 
?> 

ответ

7

изменение

return this._http.get('auth.php').subscribe(res => { 

в

return this._http.get('auth.php').map(res => { 

и назвать его как

this._authService.getAuthenication() 
    .subscribe(value => this.authenticated = value); 
+0

Я получаю свойство 'подписаться' не существует на типа 'Subscription '. Подписывается ли для углового или javascript, есть ли для этого документация? – ClickThisNick

+1

Извините, забыли сообщение –

+0

Что такое аутентификация в разделе .subscribe (value => this.authenticated = authenticated); Является ли это переменной, которую я имею на app.component или это свойство ценности? Я возвращаю true или false в .map (res должен ли я просто возвращать res.json() – ClickThisNick

Смежные вопросы