django如何获取前端通过JSON.stringify()函数的值

django获取前端通过JSON.stringify()函数的值


现在前后端分离开发可以说是如火如荼,尤其现在是移动端开发的环境中,常用JSON.stringify()接收json数据,在django用传统的request.POST方式就不是那么好用了,常用的方法如下:

前端:var data = {
                        username: $('#uername').val(),
                        password: $('#password').val()
                    }

            $.ajax({
                        url: '/user/login',
                        type: 'post',
                        dataType: 'text',
                        contentType: 'application/json',
                        data: JSON.stringify(data),
                        timeout: 20
                        beforeSend: function(xhr) {
                            xhr.setRequestHeader(header, token);
                        },
                        success: function(data) {
                            console.log(data);
                            if (data == 'success') {
                                layer.msg("登录成功");

                                location.href = "/user/main"
                            } else {
                                layer.msg("登录失败")
                            }
                        },
                        error: function() {
                            layer.msg("登录失败")
                        }
                    })

 

if request.method == 'POST':

    ..................

  data = json.loads(request.body.decode()).get('username')

其中request.body获取的数据为bytes字节类型数据,需要先使用decod()方法解码成json字符串类型,然后在用json.loads()转换为字典类型,最后使用字典的get方法获取值。

 

你可能感兴趣的:(python)