2017-08-28 10 views
0

私はAngular2.Iに取り組んでいます。私はポスト操作をしなければならないログインURLを持っています。しかし、私がしようとしているコードでステータスがであり、エラーがです。認証ヘッダーに無効なユーザー資格情報があります。 しかし、ヘッダーに正しいユーザー資格情報を与えています。角度2でポストURLを打っている間に401のステータスコードを取得

public getData(data: string) : Promise<any> { 


    if(typeof(this.login_data) === "undefined") { 
     let headers = new Headers(); 
     headers.append("Authorization", "Basic " + btoa(this.username + ":" + this.password)); 
     headers.append("Content-Type", "application/json"); 
     headers.append("Accept", "application/json"); 

     headers.append("id", this.custid); 

     let rOptions = new RequestOptions({ 

       headers: headers, 
       body : data 
      }); 
     return this.http.post(this.loginUrl, rOptions) 
      .toPromise() 
      .then(res => { 
          this.login_data = res.json().response; 
          return this.login_data; 
      }) 
      .catch(this.handleError); 

     } else { 
      return Promise.resolve(this.login_data); 
     } 
} 

getDataメソッドが私のサービスクラスにあります。このメソッドを呼び出すには、以下のコードを使用してください。

this.service.getData(JSON.stringify(requestBody)) 
     .then((response: Response) => { 

      if (response.status === 200){ 
       //if success do next 
      } 

     }).catch(error => { 

      this.error_message = error.error; 

      console.log("error in component and error is: " + JSON.stringify(error)); 
     }); 

私はこれを渡しています。

let requestBody = {}; 
     let request = {}; 

     request['username'] = this.user.username; 
     request['password'] = this.user.password; 
     request['id'] = this.custid; 


     requestBody['request'] = request; 

誰でもこの問題を解決できますか?ここで問題は何ですか?

答えて

0

おそらく、追加中に間違った情報がヘッダーに送信されている可能性があります。情報は、私はそれらを送信していますが要求されるどのようなバックエンド側

headers.append("Authorization", "Basic " + btoa(this.username + ":" + this.password)); 
     headers.append("Content-Type", "application/json"); 
     headers.append("Accept", "application/json"); 
     headers.append("username", this.username); 
     headers.append("password", this.password); 
     headers.append("id", this.custid); 

     let rOptions = new RequestOptions({ 

       headers: headers, 
       body : JSON.stringify(data) 
      }); 
+0

に確認してください。@ Pardeep – ananya

+0

一般ユーザ名とパスワードがないヘッダーセクションに身体の部分を使用して送信されているので、私はそうは思いません。 –

+0

ええ、バックエンド側でチェックされています。質問を編集して、ユーザー名とパスワードを送信していないのに、同じ401エラーが表示されます。リクエストボディを送信する方法が正しいかどうかは疑問があります。@ Pardeep – ananya

関連する問題