pageNumber = request.POST.get('pageNumber',1)
从get中取得数据,如果不存在则默认值为1
pageNumber = request.GET.get('pageNumber',1)
3.从所有请求中取得数据,如果不存在则默认值为1
pageNumber = request.REQUEST.get('pageNumber',1)
4.判断一个请求是post还是get方式
if request.method == 'GET':
pass
if request.method == 'POST':
pass
5.判断某个字段是否存在
if 'pageNumber' in request.GET:
pageNumber = request.GET.get('pageNumber',1)
if 'pageNumber' in request.POST:
pageNumber = request.POST.get('pageNumber',1)
因为客户端传递过来的数据是json数据,可以看成一个json对象。不是传过来的post表单,所以你用request.POST.get('ID', '')这种肯定取不到值的。
def datasave(request):dict = {}
info = 'Data log save success'
try:
if request.method == 'POST':
req = simplejson.loads(request.raw_post_data)
username = req['username']
password = req['password']
datas = req['datas']
game_id1 = datas[0]['game_id']
except:
import sys
info = "%s || %s" % (sys.exc_info()[0], sys.exc_info()[1])
dict['message']=info
dict['create_at']=str(ctime())
json=simplejson.dumps(dict)
return HttpResponse(json)
request.raw_post_data表示的是从客户端发送过来的原始数据,为了纯字符串, 通过simplejson的loads方法将其转换为字典数据类型req.
上面的代码也演示了如何以JSON格式作为响应值, 而非HTML, 即通过simplejson的dumps方法, 将字典数据dict序列化为字符串形式,将通过HttpResponse返回.
原来是contentType为application/json时,Django不支持request.POST.get(),但可以通过request.body来获取string类型的参数:
注意:这里的json.loads(request.body)可能会因为python版本的原因会报错,详细看 https://www.cnblogs.com/hooo-1102/p/12055742.html
举个栗子:
注册页面,前端的ajax请求:
后端:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)