微信公众号支付如何实现不刷新支付

最近在做微信公众号内支付,使用JSAPI的支付方式。
整体步骤是清晰的,但就是无法实现无刷新支付,求问大神解答!!!

第一步:获取带code的请求,构造出来的地址类似这样

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx1231213&redirect_uri=http%3A%2F%2Fwww.baidu.como%2Fpay%2F&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

第二步:请求上面的地址,微信会重定向到redirect_uri的参数,并且带上了参数code(用来获取open_id的)

问题就在这里,上面的这个地址,不过是通过前端去访问,还是通过前端请求后端,后端再做302跳转,整个页面都会刷新一次。就是将原来的地址,刷新成了上面redirect_uri的地址,实际是想要保存当前页。

尝试了在原页面上加一个ifream,用ifream去请求上面的地址,结果当前的整个页面也是重新刷新了。不清楚这个#wechat_redirct机制是怎样,求大神告知。

补充

补充下,如果我的页面中,想要用一个ifream嵌入这个链接http://paysdk.weixin.qq.com/e... (官方demo)

怎么能做到不刷新整个页面吗?

阅读 5.3k
2 个回答

你为什么不在一开始就获取openid呢,在后台判断是否是微信浏览器,如果是微信浏览器,就去获取openid,然后再挑战到相应的页面.然后再进行支付或者其他操作

新手上路,请多包涵

补充下,如果我的页面中,想要用一个ifream嵌入这个链接http://paysdk.weixin.qq.com/e...(官方demo)

怎么能做到不刷新整个页面吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进