支付宝支付时提示“长时间没操作,请重新发起请求”的错误处理

支付宝支付时提示“长时间没操作,请重新发起请求”的错误处理

此问题仅限于老版本中用iframe提交所产生的错误!

在app项目中遇到了这个问题(虽然是app项目,但是还是使用的网站支付):支付宝支付的时候,输入完支付密码,提示“由于您长时间没有操作,请重新发起请求。”
如图:在这里插入图片描述

但是从浏览器中进行支付就没问题,可以进行支付,当时也很懵,不知道哪里出了问题,查看文档,说是不能用iframe嵌套支付宝支付页,应该用form表单提交,这个解释是合理的,但是代码怎么写呢?分析代码的意思,其实也很简单,直接上代码,使用时替换即可。

蚂蚁金服提供的解决方案

找到ifrems.PHP文件

原来的iframe嵌套是这样写的:

    <body>
        <iframe id="cti" src="'.$_POST['tourl'].'" frameborder="0" scrolling="auto" style="background-color: #fff;border: 0px solid red;padding-top: 0px;margin-top: 0px;margin:0px;padding: 0px;top:0;width: 100%;"></iframe>
    </body>

把这个body替换为下面的代码就可以了:

	<body onload="document.forms[0].submit();">
         <form id="form" name="form" action="'.$_POST['tourl'].'" style="background-color: #fff;border: 0px solid red;padding-top: 0px;margin-top: 0px;margin:0px;padding: 0px;top:0;width: 100%;" type="text/x-srciptlet" method="post"></form>
	</body>

切记:替换后的body代码,一定要加 οnlοad=“document.forms[0].submit();” 不然form表单不能自动提交!!! 原iframe代码注释掉,使用替换后的form就可以了,亲测可以!!!

如果哪位大佬发现代码有错误或者有更好的办法,请联系本人!谢谢!


之前我完全没有思路,不知道该怎么写,但是自己仔细看看代码,慢慢也就有头绪了,然后很快就写出来了,有时候就是要坚持一下,有可能下一秒就会有胜利的曙光!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值