cypress route 拦截 zepto ajax 请求时候 response 返回 null 问题原因
原文链接:https://blog.jijian.link/2020-08-03/cypress-zepto-ajax-response-null/
如果你项目有如下几个巧合,大概率会发现一个 ajax 请求返回为 null 的 bug:
问题原因
对比正常 network 请求会发现少了好几个字段,少的字段如下:
X-Cypress-Delay: 0
X-Cypress-Id: xhr10
X-Cypress-Matched: **/testCyPress*
X-Cypress-Response: %7B%22code%22:%22111111%22,%22info%22:%22%E6%88%90%E5%8A%9F%22%7D
X-Cypress-Status: 200
查看 zepto ajax 源码 会发现有这么一行代码: https://github.com/madrobby/zepto/blob/master/src/ajax.js#L254
xhr.setRequestHeader = setHeader // xhr = new window.XMLHttpRequest()
就这么一行代码,改变了 XMLHttpRequest 的默认的 setRequestHeader 方法,导致 CyPress 测试请求发送的 Request Headers 少了好几个字段,进而导致返回数据为 null
处理办法
删除源码中的 xhr.setRequestHeader = setHeader 即可。
如果使用的 CDN ,比如 https://cdn.bootcdn.net/ajax/libs/zepto/1.2.0/zepto.js ,删除1465 行问题代码 xhr.setRequestHeader = setHeader 即可。
cypress route 拦截 zepto ajax 请求时候 response 返回 null 问题原因的更多相关文章
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- js拦截全局ajax请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- js 拦截全局 ajax 请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- 使用CEfSharp之旅(6)拦截网络请求 截取response返回
原文:使用CEfSharp之旅(6)拦截网络请求 截取response返回 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https ...
- ajax请求、servlet返回json数据
ajax请求.servlet返回json数据 1.方式一 response.setcontenttype("text/html;charset=utf-8"); response. ...
- AJAX请求时status返回状态明细表(转)
转自:http://www.cnblogs.com/wangking/p/6530904.html AJAX请求时status返回状态明细表 readyState的五种状态2010-03-04 18: ...
- AJAX请求时status返回状态明细表
AJAX请求时status返回状态明细表 readyState的五种状态2010-03-04 18:24对于readyState的五种状态的描述或者说定义,很多Ajax书(英文原版)中大都语焉不详 在 ...
- 一次ajax请求导致status为canceled的原因小记
偶然碰到一个小Bug ajax请求执行后返回了一个canceled(状态码) 但是后台却接受了参数并且执行成功0.0 刚看到这个状态的时候是一脸懵逼的.... 之前并没见过这样的状态码 经过参数确认并 ...
- ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...
- AJAX请求状态码返回200却跳到error的function
最近在搞公司的项目时,发现了一个神奇的问题,就是AJAX请求成功,却莫名其妙的不返回到success函数中,而是跳到了error函数中.公司的项目是ASP.NET,这个和用的什么语言没有多大关系,只要 ...
随机推荐
- java到报名的编码运行
Hello.java package a.b; import com.beyondiary.kit.KitConstant; public class Hello { public static vo ...
- 带宽计算-大B和小B的区别
在计算机网络.IDC机房中,其宽带速率的单位用bps(或b/s)表示:换算关系为:1Byte=8bit 1B=8b ---- 1B/s=8b/s(或1Bps=8bps) 1KB=1024B ...
- 龙哥量化:macd背离量化的细节问题(图解)
如果您需要代写技术指标公式, 请联系我. 龙哥QQ:591438821 龙哥微信:Long622889 读完本篇,通过解决背离标准量化不清的问题,可以规范背离的使用时机,同时准确过滤假信号,找到真正的 ...
- Qt编写地图综合应用21-路径规划
一.前言 近期重新将这个地图综合应用进行大幅度的改进更新升级,包括使用示例也做了非常多的改进和调整,其中就包括路径规划功能,之前只是调用了百度地图的JS交互接口,根据起始点坐标经纬度和结束点坐标经纬度 ...
- vue3 路由-导航守卫
假设用户登录,在地址栏输入了Login,人性化的设计应该自动回到home页面.或者用户输入不存在路由,也应该回到home页面. 这个时候需要用到vue-router的导航守卫功能. 在我们封装的rou ...
- [转]Mybatis入门和简单Demo
原文链接: 1.Mybatis入门和简单Demo 2.Mybatis的CRUD案例 3.Mybatis分页查询与动态SQL
- C#中字符串格式化string.Forma中需要使用t转义字符的情况处理
此处汇总一下C#中字符串格式化string.Forma中需要使用t转义字符的情况处理. 1.C# string.Format() 方法中占位大括号的外面还有大括号,此时就需要使用转义大括号{}. 处理 ...
- UWP Shadow 阴影
参考文字: https://mtaulty.com/2016/08/10/windows-10-uwp-and-composition-light-and-shade/ <Grid Backgr ...
- biancheng-Spring MVC-HandlerAdapter
二.HandlerAdapter 根据 Handler 来找到支持它的 HandlerAdapter,通过 HandlerAdapter 执行这个 Handler 得到 ModelAndView 对象 ...
- pymysql数据库操作
1.安装pymsql pip install pymysql 2.导入包 import pymysql 3.连接数据库 conn=pymysql.connect(host='主机地址',user= ...