問題ステートメント:
Angular HTTP に認可ヘッダーを追加しようとしていますリクエストしましたが、「「Access-Control-Allow-Origin」ヘッダーが存在しません」を受信しました要求されたリソースで" エラーが発生しました。
解決策:
Angular アプリケーションでは、認証ヘッダーの管理に HTTP インターセプターが推奨されます。 ガードは、ルート保護のためにこのアプローチを補完できます。
認証インターセプターの実装:
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { AuthService } from './auth.service'; @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { if (AuthService.isLoggedIn()) { const token = AuthService.getToken(); req = req.clone({ setHeaders: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': `Bearer ${token}`, }, }); } return next.handle(req); } }
import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { AuthInterceptor } from './auth/auth.interceptor'; ... providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ... ], ...
Go についてHTTP リクエスト:
エラーは示唆していますリクエストヘッダーと CORS 設定の間に不一致がある可能性があります。次の手順を実装します。
headersOk := handlers.AllowedHeaders([]string{"*"})
以上がAngular HTTP リクエストに認証ヘッダーを追加して CORS 問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。