天天看点

Django中接收json格式参数实际数据类型为byte

Django中,接收到的参数在request.body中,json格式的参数接收到时为byte类型,需要将byte格式的参数转换为json才方便后续使用,
           

在Django中,接收到的参数在request.body中,json格式的参数接受到的数据为byte类型,需要将byte格式的参数转化为json才能方便后续使用,如果直接使用,则会找不到该数据,显示None。

导入json包,import json,使用json.loads(request.body)即可

Django中的视图函数:

def login(request):
    if request.method == "POST":
        username = request.POST.get("username")   
        password = request.POST.get("password")   
        print(username,password)   #  这里打印None None
        print(request.body)
        print(json.loads(request.body))
    return HttpResponse('ok')
           

前端ajax请求函数:

this.$axios.post('http://127.0.0.1:8000/my/login/',{"username":this.username,"password":this.password}).then(function (res) {
           console.log(res);
}).catch(function (res) {
           console.log(res);
       });
           

前端进行请求后的结果: 

Django中接收json格式参数实际数据类型为byte