V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
rockyaow
V2EX  ›  Python

支付宝支付时,扫二维码后,改变页面是怎么实现的?

  •  
  •   rockyaow · 2015-02-04 17:17:16 +08:00 · 12117 次点击
    这是一个创建于 3582 天前的主题,其中的信息可能已经有所发展或是发生改变。

    支付宝支付时,页面右边有个二维码,手机支付宝扫描并支付后,页面就马上显示已经支付,然后就改变了。

    这个是如何实现的?

    没明白这个异步的操作是具体怎么触发的。

    我后端是django的

    12 条回复    2015-03-24 20:41:15 +08:00
    soulteary
        1
    soulteary  
       2015-02-04 17:24:32 +08:00   ❤️ 1
    和后端是啥没有关系,前端做websocket长连接/flash socket长连接/ajax poll模拟长连接即可...
    abelyao
        2
    abelyao  
       2015-02-04 17:24:39 +08:00
    你把瀏覽器的 network 打開看看,它時不時的就去請求一下服務器看看你掃碼了沒,反饋如果有的話就改變頁面。微信登錄也同理。
    nikejaycn
        3
    nikejaycn  
       2015-02-04 17:45:27 +08:00
    轮询,状态改变就跳转。
    virusdefender
        4
    virusdefender  
       2015-02-04 19:53:39 +08:00
    最简单的实现就是每隔半秒一个 ajax 请求一下~
    flynngao
        5
    flynngao  
       2015-02-04 21:04:17 +08:00
    作为曾经支付宝的前端实现过类似功能的人,告诉你就是请求轮询
    b821025551b
        6
    b821025551b  
       2015-02-04 21:09:10 +08:00 via iPad
    请求轮询确实可以实现这个效果,但是你们考虑到性能没啊!?那么多用户一上来就相当于被DDOS了。微信和支付宝都是用长连接实现的,不信你们打开network看看
    flynaj
        7
    flynaj  
       2015-02-04 23:11:54 +08:00 via Android
    应该是检测浏览器支持,支持就用最新技术,不支持就降级
    SuujonH
        8
    SuujonH  
       2015-02-04 23:17:24 +08:00
    @b821025551b 应该用完就关了吧
    tolbkni
        9
    tolbkni  
       2015-02-04 23:21:13 +08:00
    b821025551b
        10
    b821025551b  
       2015-02-04 23:56:31 +08:00 via iPad
    @SuujonH 是,但是等待确认操作这段时间还需要很久的,用户量一大起来就把server玩坏了
    tolerious
        11
    tolerious  
       2015-03-03 00:20:38 +08:00 via iPhone
    目测是长链接
    wallstreet007
        12
    wallstreet007  
       2015-03-24 20:41:15 +08:00
    可以试试 Ping++(pingxx.com),他家已经支持了支付宝扫码,非常简单
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3467 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.