PHPWIND[民间论坛]数据搬迁导致丢失严重,用户数据基本全部损坏,十分遗憾来自phpwind.me的远古记忆

phpwind9.0积分充值/在线支付不跳转的原因及修复方案

董宝中 离线 14.2K阅读 22回复 于 2014-04-21 01:38 发布在 技术文献 分类
phpwind9.0积分充值/在线支付不跳转的原因及修复方案

经过彻夜研究,终于找到了phpwind9.0积分充值/在线支付不跳转的原因和修复方案了。问题出在res/js/dev/pages/profile/profileRecharge.js文件的第53行代码。
官方默认的是:
window.location.href = decodeURIComponent(data.data.url);//todo

这样会导致充值跳转“……et=GBK&body=%B9……Falipay.php&out_trade_……”的“&”不能被成功翻译成“&”,从而使支付宝报错说来源错误“错误代码 ILLEGAL_EXTERFACE”。知道了原因,修改就简单了,加上一句replace(/&/g,"&")就搞定了,就是替换&为&。


修改方案1:
window.location.href = decodeURIComponent(data.data.url.replace(/&/g,"&"));//todo


修改方案2:
window.location.href = (data.data.url.replace(/&/g,"&"));//todo


以上2个方案的区别在于有无decodeURIComponent,这里我不确定,因为有的网站要有这个,有的不需要比如我的。同学们一个一个的试试。注意,要更新缓存,并CTRL+F5强行刷新哦,特别是火狐和chrome,缓存太严重了!


这里提供的懒人包,请备份后直接覆盖res/js/dev/pages/profile/profileRecharge.js。
其中profileRecharge(1).js是方案1的,重命名一下;profileRecharge.js是方案2的。
下载地址:profileRecharge.zip


我的已经好了!


图片:1.png

标签

评论

22 最热 最新
游客
石三伢子
石三伢子
11年前 浙江省杭州市
0
我的可以跳转就是跳转之后
调试错误,请回到请求来源地,重新发起请求。
错误代码 ILLEGAL_EXTERFACE
石三伢子
石三伢子
11年前 浙江省杭州市
0
董宝中
董宝中
楼主
11年前 云南省
0
littleyang:= =替换了文件,果然解决了!
用的方案2  profileRecharge.js
回到原帖
嗯,解决就好。
littleyang
littleyang
11年前 中国
0
= =替换了文件,果然解决了!
用的方案2  profileRecharge.js
董宝中
董宝中
楼主
11年前 云南省
0
石三伢子:复制你的代码。。回到原帖
代码原来被解释错了,现在看看
石三伢子
石三伢子
11年前 浙江省杭州市
0
董宝中:那应该是没修改对回到原帖
复制你的代码。。
石三伢子
石三伢子
11年前 浙江省杭州市
0
366:你猜呢回到原帖
366么
366
366
11年前 山东省临沂市
0
石三伢子:你是小刘?回到原帖
你猜呢
董宝中
董宝中
楼主
11年前 云南省
0
石三伢子:为啥直接变成提示“操作成功”了。。回到原帖
那应该是没修改对
石三伢子
石三伢子
11年前 浙江省杭州市
0
石三伢子:www.pingguofen.cn回到原帖
为啥直接变成提示“操作成功”了。。
石三伢子
石三伢子
11年前 浙江省杭州市
0
董宝中:哪个网站?我看看回到原帖
www.pingguofen.cn
董宝中
董宝中
楼主
11年前 云南省
0
石三伢子:还是不行。。回到原帖
哪个网站?我看看
石三伢子
石三伢子
11年前 浙江省杭州市
0
还是不行。。
admin
admin
11年前 湖南省长沙市
0
董宝中:原来的&被网页解释成&了……回到原帖
要用代码模式~
s_footer