收藏
回答

微信支付出现 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>

麻烦帮忙看下,谢谢!!!

回答关注问题邀请回答
收藏
登录 后发表内容
问题标签