支付宝支付时,页面右边有个二维码,手机支付宝扫描并支付后,页面就马上显示已经支付,然后就改变了。
这个是如何实现的?
没明白这个异步的操作是具体怎么触发的。
我后端是django的
1
soulteary 2015-02-04 17:24:32 +08:00 1
和后端是啥没有关系,前端做websocket长连接/flash socket长连接/ajax poll模拟长连接即可...
|
2
abelyao 2015-02-04 17:24:39 +08:00
你把瀏覽器的 network 打開看看,它時不時的就去請求一下服務器看看你掃碼了沒,反饋如果有的話就改變頁面。微信登錄也同理。
|
3
nikejaycn 2015-02-04 17:45:27 +08:00
轮询,状态改变就跳转。
|
4
virusdefender 2015-02-04 19:53:39 +08:00
最简单的实现就是每隔半秒一个 ajax 请求一下~
|
5
flynngao 2015-02-04 21:04:17 +08:00
作为曾经支付宝的前端实现过类似功能的人,告诉你就是请求轮询
|
6
b821025551b 2015-02-04 21:09:10 +08:00 via iPad
请求轮询确实可以实现这个效果,但是你们考虑到性能没啊!?那么多用户一上来就相当于被DDOS了。微信和支付宝都是用长连接实现的,不信你们打开network看看
|
7
flynaj 2015-02-04 23:11:54 +08:00 via Android
应该是检测浏览器支持,支持就用最新技术,不支持就降级
|
8
SuujonH 2015-02-04 23:17:24 +08:00
@b821025551b 应该用完就关了吧
|
9
tolbkni 2015-02-04 23:21:13 +08:00
|
10
b821025551b 2015-02-04 23:56:31 +08:00 via iPad
@SuujonH 是,但是等待确认操作这段时间还需要很久的,用户量一大起来就把server玩坏了
|
11
tolerious 2015-03-03 00:20:38 +08:00 via iPhone
目测是长链接
|
12
wallstreet007 2015-03-24 20:41:15 +08:00
可以试试 Ping++(pingxx.com),他家已经支持了支付宝扫码,非常简单
|