最近在做微信公众号内支付,使用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)
怎么能做到不刷新整个页面吗?
你为什么不在一开始就获取openid呢,在后台判断是否是微信浏览器,如果是微信浏览器,就去获取openid,然后再挑战到相应的页面.然后再进行支付或者其他操作