2017-04-22 4 views
0

ローカルストレージパラメータで苦労しています。このエラーがあります// JSON.parse()でSyntaxError //実際の値の代わりに "undefined" LocalStorageから、私のサービスでログインした後にパラメータを取得する方法を教えてくださいauth-service.tsauth.ts ??すべてが右PROBあるイオン2でlocalStorageパラメータを操作する方法定義されていない値を取得する

のauth-service.ts

 public loginChef(credentials) { 
     if (credentials.email === null || credentials.password === null) { 
     return Observable.throw("Please insert credentials"); 
     } else { 
      return Observable.create(observer => { 

      var url = 'http://localhost/PFEBACKEND/login-chef.php? 
     email='+credentials.email+'&passe='+credentials.password ;   
      this.http.get(url).map(res => res.json()).subscribe(
      data=>{                  
       let access = (data.error=== 0) 
       localStorage.setItem('nom',data.nom_contact); 
       localStorage.setItem('nom_societe',data.nom_societe); 
        localStorage.setItem('email',data.email); 
        localStorage.setItem('telephone',data.telephone);      
      localStorage.setItem('matricule_fiscale',data.matricule_fiscale); 
        localStorage.setItem('role',data.role); 
        localStorage.setItem('id',data.id_chef); 
        this.member=data; 
        this.email=data.email; 
        this.nom=data.nom;    
       // this.currentUser = new User(data.nom,data.email); 
        observer.next(this.email,this.nom); 
        //observer.next(this.member); 
        //observer.next(access); 
        // console.log(this.currentUser); 
        observer.complete(); 
        }, 
        err => { 
        console.log(err); 
        observer.next(err); 
        }, 
        () => console.log('service observable')); 

       }); 
    } 
} 

offre.ts

 offres: Array<any>; 
     loader: any; 
     id:string=''; 


constructor(public navCtrl: NavController, public navParams: NavParams, 
public data:Datamembers,private auth:AuthService, public 
loadingCtrl:LoadingController) 
{ 
     if(localStorage.getItem('id')){//after login i store the user data 

       this.id=localStorage.getItem('id');       
      } 

} 
    ngOnInit() 
    { var id1=parseInt(this.id).valueOf();// i get undefined value 
     this.presentLoading();  
     this.data.LoadOffres(id1).subscribe(
     //function LoadOffres accept int type parameter 
      data => { 
      this.offres = data; 
      console.log(data);    
      this.loader.dismiss(); 
     }, 
     err => { 
      console.log(err); 
      console.log(id1); 
      this.loader.dismiss(); 
     }, 
    () => console.log('chargement terminé') 
); 
} 

auth.ts

 public loginChef() { 
     this.showLoading(); 
     this.auth.loginChef(this.registerCredentials).subscribe(allowed => { 
     if (allowed) { 
      setTimeout(() => { 

      this.email=this.auth.email; 
      this.nom=this.auth.nom; 
      this.currentUSer = this.auth.currentUser; 
      this.member=this.auth.member;//array 

      localStorage.setItem('email',this.email); 
      localStorage.setItem('nom',this.nom); 
      (....) 
+0

'{(localStorage.getItem( 'id')){//ログイン後に私はユーザーデータを保存しました this.id = localStorage.getItem( 'id'); } 'ここにデータを記録できますか? –

+0

IDをログに記録しようとしたときに「未定義」と表示されます –

+0

ストレージに設定されているかどうかをチェックする必要があります.. 'localStorage.setItem(' id '、data.id_chef); 'ここではサーバー側... –

答えて

0

レムが私のサーバー側のコードにありました

関連する問題