django 获取post传递的json数据
request.POST.get('ID','')获取post传递过来的ID,但是没有取到ID值,打印了传递的数据,如下所示,为什么取不到呢...
request.POST.get('ID','')获取post传递过来的ID,但是没有取到ID值,打印了传递的数据,如下所示,为什么取不到呢
展开
2个回答
展开全部
因为客户端传递过来的数据是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返回.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询