域名查询网站信息,贵州建设厅网站首页二级建造师成绩查询,贵阳网站seo,python网站开发流程图目录 前言
场景
问题
解决 前言 在项目开发中肯定会涉及到下载导出功能#xff0c;对于开发人员来说一般习惯使用谷歌、火狐等其他浏览器进行功能测试#xff0c;例如谷歌浏览器支持加入扩展程序#xff0c;扩展程序的位置在#xff1a;点击右上角三个点找到设置点开…目录 前言
场景
问题
解决 前言 在项目开发中肯定会涉及到下载导出功能对于开发人员来说一般习惯使用谷歌、火狐等其他浏览器进行功能测试例如谷歌浏览器支持加入扩展程序扩展程序的位置在点击右上角三个点找到设置点开点击左下扩展程序选项就可以看到浏览器汇总所有的扩展程序应用我的扩展程序如下图所示 像迅雷的扩展程序平时在谷歌浏览器中下载东西我基本都会用到特别是下载较大文件时觉得迅雷速度会快一点更清晰所以也就一直开启并没有在意这回事。 场景 临时有个项目需要二开然后涉及到导出功能的修改于是我在本地跑源代码先进行测试原有功能然后就发现大部分导出功能都失败在谷歌浏览器使用迅雷组件下载这个时候就很纳闷明明线上平台所有功能都是正常的为什么在本地测试导出功能就不行了呢于是针对这个问题进行了长时间多环境测试。 问题 系统中一共有8个导出功能其中7个导出在本地测试都失败只有一个导出在本地测试成功下载对比后发现请求类型不一样导出成功的接口是GET类型请求导出失败的接口是POST类型请求区别就是参数放在了url后面和body中然后又通过debug查看代码发现导出时调用了两次接口但是在network中仍然只有一次这个情况就很奇怪明明一次调用就可以为什么会出现调用两次当调用第二次时network中也没有记录并且body中的参数也都不见了所以才会现在前面的情况GET类型请求成功POST类型请求失败 根据情况来看需要解决的问题应该是为什么会出现第二次调用是什么原因导致出现这种情况的呢然后就将问题锁定在导出时的动作当点击页面导出功能时属于第一次调用接口network监测到记录属于正常这个时候浏览器会默认打开迅雷组件如下图所示 然后当我点击这个立即下载的时候就出现了第二次调用接口的情况并且这次调用没有传递任何参数就导致了接口失败无法返回文件流下载也就对应上了前面出现的问题皆大欢喜。 解决 既然发现了问题那么解决起来就很简单了只需要在扩展程序中将迅雷组件暂时禁用就可以然后再测试同样的功能就会发现可以正常导出了这个坑确实挺有意思的。