本文实例为大家分享了php微信扫码支付成功之后自动跳转的具体代码,供大家参考,具体内容如下
场景: 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://" rel="external nofollow" rel="external nofollow"  window.location.host "/home/cart/pay_result?pay_status=success";
    },1000)
    
   }else if(data =='2'){
    window.clearInterval(int); //销毁定时器
    setTimeout(function(){
     //跳转到结果页面,并传递状态
     window.location.href="http://" rel="external nofollow" rel="external nofollow"  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'];
 }
基础功能就这些,如果想效果好看一点,可以再加一些样式,比如:支付成功,加一个对号的动画!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Devmax。