我自己在开发中,遇到几种在后端获取js用ajax传来的数据,
比如ajax中的data:{“xx”:值}
一般都是用 key = request.args.get("xx"),“xx”是ajax中传来的data中的键,通过这种形式获取它的值。
也可以先把整个data这个字典拿过去,再从这个字典拿它里面的一个个值
dict = request.valuse.to_dict()
key = dict.get ("xx")
还有一种形式我用的比较少,也只是仿照前面的人写的代码来用的,如下
在js中:var result = Array() 返回一个空的数组
result.push(arr[i].id) 这句话应该是添加一些id到result中,
data:{"xx":JSON.stringify(result)}
后端中:key_list = json.loads(request.form.get("del_list"))
for key in key_list:
需要遍历,所有我觉得获取到的应该是一个列表,遍历拿到列表一个个的值,我还发现一个问题,当ajax用的是get请求的时候我可以用前两种的方法,而当是post的请求,就获取到一个none,只用用这种方法才获取成功。
属性 | 意义 | 返回值 | 用法示例 |
form | post提交的表单数据 | MultiDict(一键多值字典类型) | name = request.form.get('name') ---unicode格式 id=request.form.getlist(id) |
args | 获取get请求url中提交的参数 | MultiDict(一键多值字典类型) | 127.0.0.1:5000/user?id=1 id=request.args.get(id),多值可以用getlist |
values | 获取表单数据和url提交参数 | CombinedMultiDict (form和args) | id=request.values.get(id) |
cookie | 获取请求的cookie数据 | Dict(字典) | resp = make_response("设置cookie") resp.set_cookie('name','zzj',过期时间)-----设置cookie name =request.cookies.get('name') ------获取cookie |
files | 获取请求上传的文件 | * | image=request.files.get('pic') ----获取图片内容 image.save('保存的路径') -----保存图片 |
data | 包含请求内容(json,xml等) | string(字符串) | str =request.data |
如果我那些写错了或写的不好,欢迎大家评论补充下。