2016-12-07 11 views
0

あり、同じ概念に関連する様々な問題がありますが、どういうわけか私は私が同じサービスを試してみましたアンギュラ2.角度2 HTTP GET基本認証で呼び出す

でGET呼び出しの単純なHTTPを把握することはできませんよそれは機能しますが、角度のあるサービスでは機能しません。

私のコードは次のようになります。

Service.js

let headers = new Headers({ 'Authorization': 'Basic ' + btoa('[email protected]:password') }); 
let options = new RequestOptions({ headers: headers }); 

return this.http.get(Config.Api.GetNavbar, options).map((res: Response) => res.json()); 

私は、ヘッダーを設定していても、401権限エラーが発生します。

助けが必要ですか?

+0

郵便配達員と連携している場合は、角でも簡単です。同じヘッダーなどを送信してください。 – dfsq

+0

はい同じヘッダーを追加しました。何か不足していますか? –

+0

APIに提供している 'Authorization'ヘッダの値が有効であることを確認してください。サーバ側のヘッダ値がチェックされ、その無効であることを意味する' Unauthorized error 'となります。 – ranakrunal9

答えて

2

私はAngularで最初のREST呼び出しを行っていたときと全く同じように直面していました。これはPostmanと連携していましたが、Angularでは機能しませんでした。

ブラウザによっては、「実際の」AJAXコールの前にいわゆる「プリフライト」コールを行い、この最初のコールで401 Unauthorizedレスポンスが発生しました。問題は、認証なしでOPTIONSヘッダーを許可していないということでした。 OPTIONSヘッダーの処理は制限された領域にも含まれていましたが、認証情報が失われていたので、サーバーは401 Unauthorizedを送り返しました。

最終的に解決策は、OPTIONS要求を制限された領域外で処理することでした。したがって、クライアントはOPTIONSヘッダー要求のOKを受け取り、 "実際の"呼び出しを続けます。

私はサーバー側のリクエスト処理を調整したので、すべてが期待通りに機能します。

関連する問題