Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 付款后在浏览器中单击“后退”按钮时返回到其他页面_Javascript_Php - Fatal编程技术网

Javascript 付款后在浏览器中单击“后退”按钮时返回到其他页面

Javascript 付款后在浏览器中单击“后退”按钮时返回到其他页面,javascript,php,Javascript,Php,我听说这是个坏主意,但我将尝试解释我想要实现的目标: 在我的网站上,用户填写一些信息,然后转到另一个处理用户付款的服务。因此,在用户使用信用卡付款后,他再次被重定向到我的网站,在那里他看到了成功付款的消息。我的老板希望在付款后,如果用户点击后退按钮(在成功页面上),而不是再次进入付款服务,他必须被重定向到主页 如何做到这一点?我想不出一个好办法。在这个页面上只有类似于catch back按钮事件和重定向到索引页面之类的东西,我认为唯一的方法是使用javaScript 您可以绑定到“导航”事件 $

我听说这是个坏主意,但我将尝试解释我想要实现的目标:

在我的网站上,用户填写一些信息,然后转到另一个处理用户付款的服务。因此,在用户使用信用卡付款后,他再次被重定向到我的网站,在那里他看到了成功付款的消息。我的老板希望在付款后,如果用户点击后退按钮(在成功页面上),而不是再次进入付款服务,他必须被重定向到主页


如何做到这一点?我想不出一个好办法。在这个页面上只有类似于catch back按钮事件和重定向到索引页面之类的东西,我认为唯一的方法是使用javaScript

您可以绑定到“导航”事件

$(窗口).on(“导航”),函数(事件、数据){
变量方向=data.state.direction;
如果(方向==‘返回’){
window.location.href=http://google.com';
event.preventDefault();
}
});

您可以创建成功页面,我们称之为
SuccessRedirect
,将浏览器(使用javascript或HTML元头,您不能使用HTTP头)重定向到另一个显示成功消息的页面,
SuccessActual

在第一次访问
SuccessRedirect
页面时,设置一个cookie,这样,如果有人第二次访问它(即单击“后退”按钮后),并且cookie已经设置好,而不是重定向到
SuccessActual
,它将重定向到主页

cookie名称应该包含某种类型的支付交易id,以便显示每个支付交易的成功页面


这有点黑客行为,如果有人快速点击多次“返回”,它就不起作用了,但是,嘿,它可能已经足够好了。

使用location.replace(“mainpage.php?paymentdetails”)并让mainpage.php调用支付,这只适用于html5浏览器。它允许您操纵用户浏览器历史在成功完成支付过程后,根据某个Cookie中植入的get变量进行标题刷新?mplungjan,老实说,我不理解您的答案,但由于投票结果是肯定的,我认为您应该给出一个更详细的答案。我的php方案是:index.php->step1.php->step2.php->post request with success url to other service->payment后返回success.php