PHPWIND[民间论坛]数据搬迁导致丢失严重,用户数据基本全部损坏,十分遗憾来自phpwind.me的远古记忆
phpwind9.0积分充值/在线支付不跳转的原因及修复方案
phpwind9.0积分充值/在线支付不跳转的原因及修复方案
经过彻夜研究,终于找到了phpwind9.0积分充值/在线支付不跳转的原因和修复方案了。问题出在res/js/dev/pages/profile/profileRecharge.js文件的第53行代码。
官方默认的是:
这样会导致充值跳转“……et=GBK&body=%B9……Falipay.php&out_trade_……”的“&”不能被成功翻译成“&”,从而使支付宝报错说来源错误“错误代码 ILLEGAL_EXTERFACE”。知道了原因,修改就简单了,加上一句replace(/&/g,"&")就搞定了,就是替换&为&。
修改方案1:
修改方案2:
以上2个方案的区别在于有无decodeURIComponent,这里我不确定,因为有的网站要有这个,有的不需要比如我的。同学们一个一个的试试。注意,要更新缓存,并CTRL+F5强行刷新哦,特别是火狐和chrome,缓存太严重了!
这里提供的懒人包,请备份后直接覆盖res/js/dev/pages/profile/profileRecharge.js。
其中profileRecharge(1).js是方案1的,重命名一下;profileRecharge.js是方案2的。
下载地址:profileRecharge.zip
我的已经好了!

经过彻夜研究,终于找到了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
标签
+2
调试错误,请回到请求来源地,重新发起请求。
错误代码 ILLEGAL_EXTERFACE