Angular拦截器收到302响应的处理方法
创始人
2024-10-27 22:31:12
0次
  1. 在Angular项目的拦截器中,可以通过使用rxjs的pipe操作符重新定义响应,以捕获重定向状态。可以通过以下代码示例实现:

import { Injectable } from '@angular/core'; import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HttpErrorResponse } from '@angular/common/http'; import { Observable, throwError } from 'rxjs'; import { catchError } from 'rxjs/operators';

@Injectable() export class MyInterceptor implements HttpInterceptor { intercept(request: HttpRequest, next: HttpHandler): Observable> { return next.handle(request).pipe( catchError((error: HttpErrorResponse) => { // 检查响应是 302 的重定向状态 if (error.status === 302) { // 处理重定向 // ... } else { return throwError(error); } }) ); } }

  1. 如果需要手动处理重定向,可以使用以下代码:

import { HttpClient, HttpParams } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators';

@Injectable({ providedIn: 'root' }) export class MyService { constructor(private http: HttpClient) {}

performRequestWithRedirect(url: string, params: HttpParams): Observable { return this.http.get(url, { params, observe: 'response' }).pipe( map(response => { if (response.status === 302) { // 获取重定向位置 const redirectUrl = response.headers.get('Location') || ''; // 执行新的请求 return this.http.get(redirectUrl, { observe: 'response' }); } // 直接返回响应数据 return response; }) ); } }

在服务中使用performRequestWithRedirect方法,会处理重定向,同时返回响应数据。例如:

this.myService.performRequestWithRedirect('/some/url', new HttpParams()).subscribe(response => { console.log(response.body); });

相关内容

热门资讯

我来教教你!有没有人wepok... 我来教教你!有没有人wepoker,微扑克怎么开挂插件(本然存在有辅助挂)AI 智能体黑科技再上新,...
总算了解!wepoker作弊辅... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker作弊辅助解析、 AI ...
必看攻略!!we poker辅... 很多人使用云端 AI 时,都担心we poker辅助器下载、内部资料上传带来隐私风险。这款本地运行的...
玩家必备攻略!wepoker私... 玩家必备攻略!wepoker私人局开挂视频,wepoker开挂破解脚本(先前真的有开挂)AI 智能体...
六分钟了解!wpk透视是真的吗... 很多人使用云端 AI 时,都担心wpk透视是真的吗、内部资料上传带来隐私风险。这款本地运行的 AI ...
玩家必知教程!wepoker透... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
研究成果!wpk俱乐部有没有辅... wpk俱乐部有没有辅助AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数...
分享一款!!德扑之星怎么设置埋... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星怎么设置埋牌解析、 AI 处...
如何分辨真伪!wepoker免... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
一分钟了解!德普之星透视软件免... 很多人使用云端 AI 时,都担心德普之星透视软件免费入口官网、内部资料上传带来隐私风险。这款本地运行...