微信支付出现 WeixinJSBridge 在部分 异步加载(ajax)下失效怎么解决?
api: js-sdk 微信版本号:7.0.17 手机:一加手机 您好,我们这边最近有少数客户反映微信支付无法唤起,我们调试发现, WeixinJSBridge 未定义,但是 监听 WeixinJSBridgeReady 事件也没反应,需要说明的是,我们做了一个测试页,让客户点击支付是可以的,我们生产环境下的 支付是通过 ajax 加载的,大多数客户支付都是正常的,只是少数客户出现这种问题,附上代码如下: <script type="text/javascript"> function jsApiCall() { try { WeixinJSBridge.invoke( 'getBrandWCPayRequest', <?php echo $jsApiParameters; ?>, function(res){ WeixinJSBridge.log(res.err_msg); if(res.err_msg=="get_brand_wcpay_request:ok"){ location.href = "<?php echo $redirect; ?>"; } } ); } catch(err) { WeixinJSBridge.log(err.message); } } function callpay() { if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', jsApiCall); document.attachEvent('onWeixinJSBridgeReady', jsApiCall); } } else { jsApiCall(); } } </script> <div class="pull-right"> <button type="button" onclick="callpay()" id="button-confirm" class="btn btn-primary"><?php echo $button_confirm; ?></button> </div> 麻烦帮忙看下,谢谢!!!