angular2页面抓取_Angular2 拦截器(页面请求修改Url+headers传值+获取服务器返回的错误信息)...

本文介绍了如何在 Angular2 中创建一个 HttpInterceptorService 服务,用于拦截 HTTP 请求,修改 URL、添加 headers 并处理服务器返回的错误信息。通过在 AppModule 中配置 Http 拦截器,确保每个 HTTP 调用都会经过拦截器处理,包括错误状态的显示和特定错误的响应处理,如 401 错误时的登录重定向。
摘要由CSDN通过智能技术生成

1.我们首先定义一个服务 HttpInterceptorService

//http-interceptor.service.ts

import { Injectable,Inject } from '@angular/core';

import { Http,Request,RequestOptionsArgs,Response,RequestOptions,ConnectionBackend,Headers } from '@angular/http';

import 'rxjs/Rx';

import { Observable } from 'rxjs/Observable';

import { environment } from '../../../environments/environment';

import { StorageService } from './storage.service';

import { Router } from '@angular/router';

@Injectable()

export class HttpInterceptorService extends Http {

status = {

"status.400": "错误的请求。由于语法错误,该请求无法完成。",

"status.401": "未经授权。服务器拒绝响应。",

"status.403": "已禁止。服务器拒绝响应。",

"status.404": "未找到。无法找到请求的位置。",

"status.405": "方法不被允许。使用该位置不支持的请求方法进行了请求。",

"status.406": "不可接受。服务器只生成客户端不接受的响应。",

"status.407": "需要代理身份验证。客户端必须先使用代理对自身进行身份验证。",

"status.408": "请求超时。等待请求的服务器超时。",

"status.409": "冲突。由于请求中的冲突,无法完成该请求。",

"status.410": "过期。请求页不再可用。",

"status.411": "长度必需。未定义“内容长度”。",

"status.412": "前提条件不满足。请求中给定的前提条件由服务器评估为 false。",

"status.413": "请求实体太大。服务器不会接受请求,因为请求实体太大。",

"status.414": "请求 URI 太长。服务器不会接受该请求,因为 URL 太长。",

"status.415": "不支持的媒体类型。服务器不会接受该请求,因为媒体类型不受支持。",

"status.416": "HTTP 状态代码 {0}",

"status.500

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值