下面是我在微信支付项目中遇到的一个致命的问题以及解决的方法,希望大家给出宝贵的意见。
问题 在微信网页支付过程中,当多次点击“立即支付”的按钮,会跳出多个微信支付的界面,用户必须依次关闭各个界面,还会出现手机卡死的现象,这无疑是一个致命的问题,严重影响用户的体验。 解决方法 在这里我使用的方法是:采用标志来判断,每次点击都要对这个标志进行判断。一段时间后对标志进行复位。具体的代码如下:
<a id ="submit" class ="hot-btn mar_0_10 mar_b_20" onclick ="jspay123();" > 立即支付</a >
<script type ="text/javascript" >
var clicktag = 0 ;
function jspay123 () {
var openid = "${openid}" ;
var money = $("#MONEY" ).val();
var name = $('#name' ).val();
var id = $('#jiqi' ).val();
if (clicktag == 0 ) {
clicktag = 1 ;
$.post("/pub/ajax/" , {openid:openid,money:money,name:name,id:id}, function (data) {
var appId = data.appId;
var timeStamp = data.timeStamp;
var nonceStr = data.nonceStr;
var wxPackage = data.wxPackage;
var signType = data.signType;
var paySign = data.paySign;
var name = data.name;
var id = data.id;
var money1 = data.money;
pay(appId,timeStamp,nonceStr,wxPackage,signType,paySign,name,id,money1);
}, "json" );
setTimeout(function () { clicktag = 0 }, 5000 );
}
}
</script >