• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Kreja
V2EX  ›  程序员

python 怎么跟 ajax 交换数据

  •  
  •   Kreja · Aug 30, 2014 · 9564 views
    This topic created in 4368 days ago, the information mentioned may be changed or developed.
    比如 ajax 跟 asp 交换数据:
    xmlhttp.open("GET","gethint.asp?q="+str,true);
    asp 中用 q=ucase(request.querystring("q")) 就可以获得参数q的值
    asp中 用 response.write("xxx") 就可以返回数据

    那么 python 是怎么跟ajax交换数据呢?
    ChanneW
        1
    ChanneW  
       Aug 30, 2014
    看你用的什么WEB框架了. request 获取get参数 或者 新地址传数据都很容易实现的.
    momo1999
        2
    momo1999  
       Aug 30, 2014
    ajax跟后端没啥关系
    kchum
        3
    kchum  
       Aug 30, 2014 via iPhone
    就后端获取参数不一样而已,不同框架写法不一样
    onlyice
        4
    onlyice  
       Aug 30, 2014
    问题的表述不准确。

    1. AJAX 只是一种浏览器向 Web 服务异步发送数据的技术,并不是用来交换数据的对象:
    http://zh.wikipedia.org/zh/AJAX

    2. Python 是个编程语言,并不是 Web 服务器

    ---

    你想要知道的应该是,怎样用 Python 搭建的 Web 服务器来接收浏览器发来的 AJAX 请求并返回数据。

    这些事情一般 Web 框架都帮你考虑了,如果你用 Django,你可以写一个 View:

    ```
    def GetAjaxDataView(request):
    q = request.POST.get('q', 'default_value_if_q_not_exist')
    ```
    Kreja
        5
    Kreja  
    OP
       Aug 30, 2014
    @onlyice
    原来如此,我用的flask,已经获取到前端传过来的参数了。
    不过还有个问题,既然ajax能发送数据到后端,后端又返回了数据,那为什么还“并不是用来交换数据的对象”?
    onlyice
        6
    onlyice  
       Aug 30, 2014   ❤️ 1
    @Kreja 应该是浏览器通过 AJAX 技术向后端发送请求。。AJAX 只是手段,浏览器才是主体。。
    clino
        7
    clino  
       Aug 30, 2014
    举一个昨天刚写的代码为例,

    前端(搜 /api/sharedir/listdir/ ): github.com/zhangchunlin/shapps/blob/master/shapps/filedir/sharedir/templates/inc_sharedir.html

    后端( 搜 api_sharedir_listdir ):
    github.com/zhangchunlin/shapps/blob/master/shapps/filedir/sharedir/views.py

    后端只要实现api返回json就行了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2886 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:52 · PVG 17:52 · LAX 02:52 · JFK 05:52
    ♥ Do have faith in what you're doing.