当前位置: 首页 > news >正文

山东省建设厅招标网站在线网站做成app

山东省建设厅招标网站,在线网站做成app,免费制作微信小程序的软件,免费空白简历模板word环境: angular 实现: 拦截请求 向请求信息增加字段 拦截响应 过滤返回值 响应拦截: 根据angular使用的XMLHttpRequest 将对原本的请求转移到另一个将监听返回事件挂载到另一个世纪发送请求的xml上 使用get set 将客户端获取的res…

环境: angular
实现: 拦截请求 向请求信息增加字段
            拦截响应 过滤返回值
响应拦截:
根据angular使用的XMLHttpRequest 将对原本的请求转移到另一个将监听返回事件挂载到另一个世纪发送请求的xml上
使用get set 将客户端获取的responseText和response按照自己的意愿返回实现响应拦截

请求拦截
比较简单了 网上也比较常见
修改send函数的参数即可


const CommentReg = new RegExp(/\\/api\\/.+\\/.+\\/[0-9a-f]{24}\\/comment(\\/[0-9a-f]{24})*/
);
const GetCommentsReg = new RegExp(/\\/api\\/.+\\/.+\\/[0-9a-f]{24}\\/comments*/
);const MyXMLHttpRequest = window.XMLHttpRequest;class InterceptXML extends window.XMLHttpRequest {constructor(...p) {super(...p);}addEventListener(t, fn) {super.addEventListener(t, fn)}get hasInjectDom() {return document.getElementById("insertCheckBox")}_statusText = "";get statusText() {return this._statusText || super.statusText;}set statusText(val) {this._statusText = val;}_status = "";get status() {return this._status || super.status;}set status(val) {this._status = val;}_response = "";get response() {return this._response || super.response;}set response(val) {this._response = val;}_responseText = "";get responseText() {return this._responseText || super.responseText;}set responseText(val) {this._responseText = val;}cover(method, url) {const xml = new MyXMLHttpRequest();xml.open(method, url, true);this.addEventListener = (type,callback) => {if (type == 'load') {this.getAllResponseHeaders = () => {return xml.getAllResponseHeaders()}xml.addEventListener(type, () => {this.statusText = xml.statusText;this.status = xml.status;this.response = xml.response;this.responseText = xml.responseText;callback()})// 处理domxml.addEventListener("loadend", () => {requestAnimationFrame(() => {requestAnimationFrame(() => {})})})}else xml.addEventListener(type,callback)}this.setRequestHeader = (...r) => {xml.setRequestHeader(...r)}this.send = () => {xml.send();}}open(method, url) {if (method === 'GET' && GetCommentsReg.test(url)) { return this.cover(method, url);} else {if (["POST", "PUT","DELETE"].includes(method) && CommentReg.test(url) && this.hasInjectDom) {const originalSend = super.send;super.send = function (data) {const modifiedData = Object.assign({ is_private: window._is_private_comment || false },JSON.parse(data));originalSend.call(this,JSON.stringify(modifiedData));};}super.open(method, url);}}
}window.XMLHttpRequest = InterceptXML;
http://www.yayakq.cn/news/669962/

相关文章:

  • 网站pr怎么提升黄岩区信誉好高端网站设计
  • 移动商城网站开发网页制作与设计是什么
  • 网页跳转到别的网站做IT的需要别人打开网站吗
  • 教做糕点的网站赚钱链接网站
  • 网站建设个人先进材料网站建设时间进度
  • 五常网站石家庄开发网站
  • 网站开发关联下拉列表常用的html编辑器有哪些
  • 网站建设方案基本流程wordpress显示投稿者
  • 企业模板建站有哪些佛山百度关键词推广
  • 物业公司网站设计wordpress用手机qq微信微博
  • 如何设计一个网站没灵感广州公司注册公司流程
  • 个人网站建设哪家快企业网站模板html
  • 计算机技术员网站建设怎么基础建站如何提升和优化
  • php与mysql网站开发全接触成都如何寻找做网站的
  • 大淘客平台怎么做分销网站网站建设 五金
  • 如何做盆栽蔬菜网站电商平台是做什么
  • 设计师做画册必备网站网站建设思路设计
  • 网站推广策划东莞品牌设计公司
  • 简述网站设计流程开源php源码
  • 网站上存储播放视频怎么做品牌设计公司50强
  • 网站建设 微信营销免费做视频的软件app
  • 国内最大的自建站平台网络结构
  • 搜索引擎网站排行榜东莞网站模板
  • 聊城专业网站设计公司seo包年服务
  • 网站建设与管理软件网络营销哪家比较专业
  • 电气行业网站建设多少钱做网站建设的网站
  • wordpress获取站点副标题好看的网站后台模板
  • 深圳企业建网站公司网站建设合同通用范本
  • 动态视觉设计网站全球设计公司排名
  • 电子商务网站规划设计方案网站之前没备案