场景: PC端 微信扫码支付
结果: 支付成功 自动跳转
实现思路:
支付二维码页面,写ajax请求支付状态,请求到结果,无论成功还是失败,都跳转到相应的结果页面
具体实现方法:
html部分:
支付结果状态设定: 0 未支付 1 支付成功 2 支付失败
<input type="hidden" id="order_id" value="<?php echo $order_id;?>">
<script type="text/javascript">
function pay_status(){
var order_id = $("#order_id").val();
$.ajax({
url:'http://' + window.location.host+ '/home/cart/pay_status_check',
dataType:'json',
type:'post',
data:{'order_id':order_id},
success:function(data){
if(data == '1' ){
window.clearInterval(int); //销毁定时器
setTimeout(function(){
//跳转到结果页面,并传递状态
window.location.href="http://"+window.location.host+"/home/cart/pay_result?pay_status=success";
},1000) }else if(data =='2'){
window.clearInterval(int); //销毁定时器
setTimeout(function(){
//跳转到结果页面,并传递状态
window.location.href="http://"+window.location.host+"/home/cart/pay_result?pay_status=fail";
},1000)
}
},
error:function(){
alert("error"); }, });
}
//启动定时器
var int=self.setInterval(function(){pay_status()},1000);
</script>
PHP 部分:
//支付状态检测
public function pay_status_check(){
$order_id = I("order_id");
$result = M('table')->where("order_id = $order_id")->find();
echo $result['pay_status'];
}
基础功能就这些,如果想效果好看一点,可以再加一些样式,比如:支付成功,加一个对号的动画!