微信签约完成后,403错误解决
公司公众号产品需要支持微信签约,通过后端接口跳转微信的签约页面,然后再mounted方法中获取签约完成后返返回的标识,来执行之后相应的页面步骤。
微信开发文档:微信支付签约
测试过程中很顺利,从出单到核保到签约。。。然这时候测试的小姐姐说签约成功后会跳403?
嗨害,最主要的是这玩意儿还分机型和版本型号,用iphone13测就跳转403其他就没问题。。。
检查了Nginx的配置,前端代码,都没发现有问题
之后去找微信开发文档 , 期望有类似于微信支付成功后的回调地址参数 例如require_web,然并没有
产品就这样在我们瑟瑟发抖的心情中一期上线了
抓包发现,微信的回调页面地址没有获取完整,比如我们发起签约的页面是www.baidu.com/#/a/b,签约成功后应该还在是回调这个b.vue,结果微信的回调地址直接是www.baidu.com,导致了nginx没有配置这个域名。嗨害~~
发现解决这个问题的途径是偶然在刷思否网站时候,有一篇博客提到了类似的问题 ,抱着试一试的想法,结果真成功了。附上小哥的链接:微信签约在部分安卓手机返回404
答案就是使用meta标签referrer属性
<meta name="referrer" content="always" />
这个属性的含义是在某些情况下,网站想要控制页面给服务(server)发送referrer信息。
referrer用来指定当前页面是从哪个页面跳转过来的,即http请求报文头中的referrer包含了跳转至当前页面的上一个页面的url地址
referrer的content值有never、always、origin
- 如果content的值为never:删除请求头中的referer信息;
- 如果content的值origin:只发送origin部分;
- 如果content的值为always:不改变请求头中的referer的值;
- 如果content的值same-origin:同源的链接和引用,会发送referrer,其他的不会;
- origin-when-cross-origin:同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息
1、跳转微信签约页面
wxPublicContract(productData,proposalNo){let params = {productCode : productData.productCode, //产品代码openid : productData.openid,//openIDcontractType : '0',name : 'xxx',proposalNo : proposalNo //投保单号}getWxPublicContract(params).then(res =>{if(res.code == 200){window.location.href = res.content; //跳转签约地址}else{this.$toast(res.message)}})
},
2、签约成功后,跳转页面
/** 签约完成 应该返回到支付页面 路由hash模式会导致微信跳转会截取#号之前的 所以会返回到投保页面 在该页面判断是否签约 跳转至支付成功页面 通过URL参数 from_wxpay=1来判断是否签约**/
var searchURL = window.location.search;
if(searchURL){searchURL = searchURL.substring(1, searchURL.length);let from_wxpay = Qs.parse(searchURL)['from_wxpay'];if(from_wxpay == '1'){this.fromWxpayVisible = truelet productData = JSON.parse( window.sessionStorage.getItem('productData') );//分支机构代码let querybusiness = ''if(productData.businessOrgCode){querybusiness = `&businessOrgCode=${productData.businessOrgCode}&salesPartnerCode=${productData.salesPartnerCode}`}//setTimeout( ()=>{window.sessionStorage.removeItem('productData') window.location.href = `${this.$_config.API.baseURL}${This.$_config.URL.success}/1?id=${productData.proposalNo}&code=${productData.productCode}&newFlag=1${querybusiness}`//},3000)}
}
完,感谢观看。
微信签约完成后,403错误解决相关推荐
- Asp.net MVC应用在IIS7上部署后403错误解决方案
Asp.net MVC应用在IIS7上部署后403错误解决方案 参考文章: (1)Asp.net MVC应用在IIS7上部署后403错误解决方案 (2)https://www.cnblogs.com/ ...
- Tomcat容器部署 浏览器访问服务器页面404 403错误 解决方法
启动一个tomcat容器,注意:新版本tomcat镜像启动时必须映射端口(8080为默认容器端口) docker run -d --name tomcat -p 8080:8080 -v /mnt/e ...
- nginx 403错误解决方法
nginx 403错误解决方法 如果报了directory index of "/data/web/yafwx/public/moban/" is forbidden 看nginx ...
- Pycharm Error loading package list:Status: 403错误解决方法
Pycharm Error loading package list:Status: 403错误解决方法 参考文章: (1)Pycharm Error loading package list:Sta ...
- 微信小程序开发时遇到403错误解决
前端程序向后台服务器发送请求时,如果服务器不允许跨域请求,则会导致403错误发生(错误信息为:"Invalid CORS request").我们通常的解决办法是将信任的域配置到C ...
- win8安装wampserver报403错误解决方法
看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...
- centos7 安装 nginx(https) 及403错误解决方法
1.检查并安装所需的依赖软件 1).gcc:nginx编译依赖gcc环境 安装命令:yum install gcc-c++ 2).pcre:(Perl Compatible Regular Expre ...
- ajax 调用服务器接口报403错误解决办法
发现问题 在前端页面中远程调用服务器接口时报403错误,而直接在浏览器访问则不会报错. Ajax调用结果: 浏览器调用结果: 报403原因 经过分析发现是因为前端和服务器的域名不同而触发了防盗链机制. ...
- XAMPP本地配置虚拟目录 出现403错误解决办法
1. 检查配置目录 <VirtualHost *:80> ##网站根目录 ServerAdmin webmaster@dummy-host2.example.com ...
最新文章
- linux source命令
- 硬核推荐:博主神器OpenWrite,免费的一文多发平台,无需部署,注册即用,安全可靠!...
- ThinkPHP 3.2公共类库、应用类库ThinkPHP/Library讲解
- SAP在Kubernetes上打造的Kyma到底是个什么东东
- Python爬虫有什么用,网友纷纷给出自己的答案,爬虫能做的还是很多的
- Illustrator 描边,填充,扩展
- java实例变量,局部变量,类变量和final变量
- 【记录】锐捷Windows认证客户端常见问题及处理方法
- JAVA多线程模拟火车站售票大厅
- 说到VDI与IDV的分分合合,不会再有比这更清晰的解释了!
- bios禁用intel VT-x
- 网页的缩放,适配以及移动的适配!
- RN Error: 无法获取此包的编译时间戳。请更新react-native-update到最新版本后重新打包上传。
- 群晖NAS配置DNSPodDDNS实现外网访问(仅适用于阿里云域名)
- FastDfs与ElasticSearch和Mysql完成海量数据存储搜索功能
- [Pytorch 常用函数] 激活函数Relu, Leaky Relu
- 亚博智能PS2手柄学习笔记
- 运算符、操作符、if switch语句婚礼纪主页
- 多wan口路由虚拟服务器,简单的多WAN路由器带宽聚合功能测试方案
- 转:vue-cli的webpack模板项目配置文件分析
热门文章
- 华为app测试软件,测评:华为最新移动应用/APP测试工具MobileTest
- Docker数据持久之volume和bind mount
- 利用旋量理论建立运动螺旋系
- R语言开发工具RStudio的安装
- element-ui el-form-item 添加㎡单位的方法
- 华为DHCP中继配置
- 最新的ipa上传工具
- Windows系统通过卷影副本备份系统遇到的几个错误
- 使用BPE算法处理未登录词
- python人民邮电出版社_《人民邮电出版社PYTHON数据分析(第2版)》【价格 目录 书评 正版】_中国图书网...