2016-11-05 19 views
0

Im Angular2をフロントエンドとして使用し、Sailsjをバックエンドとして使用する。ユーザーが登録しているときに、ユーザー名が既に存在するかどうかを確認する必要があります。これを行うために、バックエンドは、データベースをチェックした後にjson応答を発行します。 JSONレスポンスは以下の通りです:ユーザー名がAngular2&Sailsに存在することを確認

{ 
    "status": true 
} 

存在しない場合は

{ 
    "status": false 
} 

は今、私は出力にangular2サービスのboolean値レジスタの

CheckUsernameNotExist(username){ 
     return this.http.post('http://localhost:1337/userAPI/usernameExist', JSON.stringify({ username: username})) 
      .map((res: Response) => res.json()) 
      .subscribe(
      (data) => {return data.status}, 
      (error) => { 
       alert('Error getting user Details'); 
      } 
     ); 

    } 

をしたいが存在する場合()と一緒に使用する必要がある場合は

if(this.userservice.CheckUsernameNotExist(user.username){ 
console.log('username exist')} 

しかし、このコードは機能しません。親切にお手伝いできますか?

+0

購読していますか? – micronyks

+0

yes console.log(data.status)をサブスクライブすると、それがtrueまたはfalseで表示されます。 –

+0

これを試してみてください。 - CheckUsernameNotExist(username){ this.http.post( 'http:// localhost:1337/userAPI/usernameExist '、JSON.stringify({username:username})) .map((res:レスポンス)=>返信res.json()ステータス) } ' – micronyks

答えて

0
CheckUsernameNotExist(username){ 
     return this.http.post('http://localhost:1337/userAPI/usernameExist', JSON.stringify({ username: username})) 
      .map((res: Response) =>{return res.json().status)} 
     );  
} 

register(){ 
    this.userservice.CheckUsernameNotExist(user.username).subscribe(data=>{ 
     if(data){ //<<<< here you'll have true or false 
      //do something 
     }else{ 
      //do something 
     } 
    }) 
    console.log('username exist')} 
} 
+0

micyksさん、ありがとうございました。これは機能します。 –

+0

あなたは大歓迎です! – micronyks

関連する問題