django 获取post传递的json数据

request.POST.get('ID','')获取post传递过来的ID,但是没有取到ID值,打印了传递的数据,如下所示,为什么取不到呢... request.POST.get('ID','')获取post传递过来的ID,但是没有取到ID值,打印了传递的数据,如下所示,为什么取不到呢 展开
 我来答
lpe234
推荐于2016-01-16 · TA获得超过2778个赞
知道小有建树答主
回答量:1250
采纳率:50%
帮助的人:562万
展开全部

因为客户端传递过来的数据是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返回.

wenjie1024
2017-11-15 · TA获得超过2381个赞
知道大有可为答主
回答量:1737
采纳率:72%
帮助的人:856万
展开全部

我的解决了:

request.POST.get('ID','') 获取不到数据, 用了如下语句就获取到了

request.data.get('ID', '')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式