这个问题和上一个问题一样,都在我做公众号支付的时候出现了
于是我上网查了查,这是一位作者的分享
https://www.jianshu.com/p/383fd9b502ac?ivk_sa=1024320u
我觉得他讲的挺对的,但是我的问题没有得到解决
如果大家遇到相同的问题可以先试一试这位博主的方法
经过自己试了好几种方法之后,我也不知道在哪个犄角旮旯的地方看见一句:把传参的对象变为普通的对象试一试,
就是属性名不要加引号这样的
下面是我的源码,成功了
function onBridgeReady() {
var timeStamp = sessionStorage.getItem('timeStamp')
var nonceStr = sessionStorage.getItem('nonceStr')
var package = sessionStorage.getItem('package')
var signType = sessionStorage.getItem('signType')
var paySign = sessionStorage.getItem('paySign')
var oppId = sessionStorage.getItem('oppId')
var timo = {
appId: oppId,
timeStamp: timeStamp,
nonceStr: nonceStr,
package: package,
signType: signType,
paySign: paySign
}
WeixinJSBridge.invoke(
// 'getBrandWCPayRequest', {
// "appId": "wx2421b1c4370ec43b", //公众号ID,由商户传入
// "timeStamp": "1395712654", //时间戳,自1970年以来的秒数
// "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串
// "package": "prepay_id=u802345jgfjsdfgsdg888",
// "signType": "MD5", //微信签名方式:
// "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
// },
'getBrandWCPayRequest', timo,
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
});
}
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
onBridgeReady();
}
大家把它写在点击事件里,自由发挥.....
以上就是解决微信支付时显示缺少参数:appId问题的方法了
如果这篇文章对你有帮助,或者在进行中遇到其他问题,欢迎评论区留言出来。
我们一起探讨~