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方法获取值。