如何在离子2中操作localStorage参数我得到未定义的值

时间:2017-04-22 12:46:08

标签: json ionic2 undefined parseint

我在使用本地存储参数时遇到了这个问题//在JSON.parse()中出现错误语法错误//我得到“未定义”而不是实际值请求如何从 LocalStorage <检索参数/ strong>我在登录后设置 auth-service.ts auth.ts ?? !!

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);
           (....)

1 个答案:

答案 0 :(得分:0)

问题出在我的服务器端代码