2017-06-30 15 views
0

角2では、HTTPを使用してログインします。 は、私はすべての要件を満たしているが、私は、ページのリダイレクト コードに問題を抱えている: authservice.ts角2 Auth data.jsonは関数ではありませんERROR

authenticate(usercreds) { 
    var creds = "kullaniciAdi=" + usercreds.name + "&sifre=" + usercreds.sifre; 
    var dizi = JSON.stringify({ 
     kullaniciAdi :usercreds.name, sifre:usercreds.sifre 
    });  
    return new Promise(resolve => { 
     this.http.post(this.url, dizi).map(res=>res.json()).subscribe(data => { 
     if(data==1){ 
      //console.log("Çalıştı"); 
      this.storeUserCredentials(data.json().token); 
       resolve(true); 
     }else{ 
      //console.log("Çalışmadı"); 
      resolve(false); 
     } 

     }); 
    }); 

そしてlogin.ts

login(usercreds) { 
    // this.authservice.authenticate(usercreds); 
    this.authservice.authenticate(usercreds).then(data => { 
     if(data) { 
      this.navCtrl.setRoot(TabsPage); 
     }else{ 
      this.presentToast(); 
     } 
});} 

screenshot for error screen

+0

uはplsはAPI – Dhyey

+0

によって与えられたJSONレスポンスは、私が唯一 'エラーを返さない値が0と1 –

+1

'決意(偽)との主要な値をチェックする投稿することができ、それは '拒否しています(偽)」。あなたの問題については、バックエンドが有効なJSONオブジェクトを返さないという事実から来ています。有効なJSONオブジェクトを返すか、 'json()'を使わないでください。 – trichetriche

答えて

0

あなたのためでこのようなサービスロジックを実装する必要があります。それは動作するはずです。

authenticate(usercreds) { 
    var creds = "kullaniciAdi=" + usercreds.name + "&sifre=" + usercreds.sifre; 
    let dizi = JSON.stringify({ 
     kullaniciAdi :usercreds.name, sifre:usercreds.sifre 
    });  
    return new Promise(resolve => { 
     return this.http.post(this.serverUrl, JSON.parse(creds)).map((res) => { 
      if (res.status != 204) { 
      Promise.resolve(res.json()); 
      } else { 
      Promise.resolve(res); 
      } 
     }); 
    }); 
    } 
関連する問題