python 怎么跟 ajax 交换数据

2014-08-30 12:24:59 +08:00
 Kreja
比如 ajax 跟 asp 交换数据:
xmlhttp.open("GET","gethint.asp?q="+str,true);
asp 中用 q=ucase(request.querystring("q")) 就可以获得参数q的值
asp中 用 response.write("xxx") 就可以返回数据

那么 python 是怎么跟ajax交换数据呢?
9062 次点击
所在节点    程序员
7 条回复
ChanneW
2014-08-30 12:27:58 +08:00
看你用的什么WEB框架了. request 获取get参数 或者 新地址传数据都很容易实现的.
shuax
2014-08-30 12:38:49 +08:00
ajax跟后端没啥关系
kchum
2014-08-30 12:55:08 +08:00
就后端获取参数不一样而已,不同框架写法不一样
onlyice
2014-08-30 12:57:26 +08:00
问题的表述不准确。

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
2014-08-30 13:19:01 +08:00
@onlyice
原来如此,我用的flask,已经获取到前端传过来的参数了。
不过还有个问题,既然ajax能发送数据到后端,后端又返回了数据,那为什么还“并不是用来交换数据的对象”?
onlyice
2014-08-30 13:21:53 +08:00
@Kreja 应该是浏览器通过 AJAX 技术向后端发送请求。。AJAX 只是手段,浏览器才是主体。。
clino
2014-08-30 14:03:37 +08:00
举一个昨天刚写的代码为例,

前端(搜 /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就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/130759

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX