1.问题描述:安卓系统可以正常支付,然而苹果系统怎么支付都不能正常支付,debug显示当前页面url未注册。
原理:单页应用,ios系统获取签名的url是首次进入页面的地址,安卓系统获取的是当前页面的url地址,你会发现如果你在此页面进行支付前进行了页面刷新并不会出现此问题
解决方案:我们要在支付页面获取到url,所以需要在支付的前一个页面跳转的时候对页面进行刷新。
uni.navigateTo({
url: '/pages/order/order' ,
// #ifdef H5
success:(res)=>{
if(res.errMsg == 'navigateTo:ok'){
window.location.reload ( true ); //跳转成功后对页面进行刷新
}
}
// #endif
})
注意:此方法对页面进行刷新会清空全局变量里的赋值,如果有使用到此页面获取的全局变量到跳转后的页面进行使用,更改为缓存即可。
转载至:https://blog.csdn.net/xiaojuju0/article/details/108317927