采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1.
2.
3.
4.
支付完成,能收到微信异步通知,数据库订单支付状态也能改掉,但是最后支付完成后,跳到sell.com页面,而不会跳到4页面。1图是我的log日志记录returnURl=http://sell.com/,而抓包工具拿到的是2页面上的值returnUrl=http://sell.com/#/order/1506657059576248441。这个returnUrl是要在前段项目里面改过的吗?还是我后端的问题?
那我这边的情况跟你是一样的呀!!那难道是从你那边的网址转到我这边的时候出问题了?
这样, 你吧这图里的这串url文本复制发出来,然后把你的代码提交个分支,我帮你看看
URL= http://sell.springboot.cn/sell/pay?openid=oTgZpweE3rANAb8k0wBlC9yBGq-c&orderId=1507558372352863407&returnUrl=http%3A%2F%2Fsell.com%2F%23%2Forder%2F1507558372352863407 git地址:git@gitee.com:wcd1/sell.git 分支名字是8-1 谢谢
git https地址是:https://gitee.com/wcd1/sell.git
看我这个图,这是我访问示例项目抓的
/order/create后,前端会跳转到/pay/create, 参数都是前端代码传的,注意看returnUrl参数,是经过urlEncode过了的,你对比你那边的情况。
链接是在后端产生,前端create.ftl文件里使用的。
先确保后端产生的链接没有问题
在前端文件js代码里,alert()那个链接,看看对不对
如果不对的话,检查是否是传输过程中urlEncode原因导致的
1.我这个returnUrl从/pay这边接收到的就是returnUrl=http://sell.com/,我不清楚这个入参是从哪里传过来的?这个/pay接口就是我点“支付”的时候去调用的,那这个/pay接口的3个入参,“openid,orderId,returnUrl”肯定都是前端传过来的。而从图2上看的returnUrl=http://sell.com/#/order/1506657059576248441,但是到/pay接收到returnUrl,日志打印出来就变成returnURl=http://sell.com/,就是说传过来的值与我实际拿到的值不一样了,丢掉了“#”后面的数据。该如何解决?
试试urlEncode
这样得到前端代码里去改了,我们这个只是后端项目。。。。前段的代码就是原来放在虚拟机上的代码
登录后可查看更多问答,登录/注册
从0到1开发中小型企业级Java应用,并学会迭代重构技巧
8.3k 10
3.3k 4
6.8k 9
2.0k 32
4.1k 26