ajax向后台发送消息
简单的数据可以如下面这样获取
前端:
$.ajax({
...
data:{name:11,age:122,xx:[11,22,33]}
})
$.post(url,data,callback)
Django后台:
request.POST
request.POST.get('name')
request.POST.get('age')
request.POST.getlist('xx')
较复杂的数据,只能如下获取
前端:
$.ajax({
...
data:JSON.stringfy({name:{k1:1,k2:666},xx:[11,22,[11,22,33] ]})
})
$.post(url,JSON.stringfy({name:{k1:1,k2:666},xx:[11,22,[11,22,33] ]}),callback)
Django后台:
requst.body
info = json.loads(requst.body.decode('utf-8'))
info["name"]
info["xxx"]
其中,JSON.stringfy({name:{k1:1,k2:666},xx:[11,22,[11,22,33] ]}),是将这些数据序列化为JSON字符串,然后发送到Django的后台
JSON.stringify() 是一个 JavaScript 的内置方法,用于将 JavaScript 对象(包括数组、对象等)转换为 JSON 字符串。
在Django中:
requst.body拿到的就是前端序列化后的字符串,是一个字节
requst.body.decode(‘utf-8’),以utf-8的编码方式,将字节转换为字符串
json.loads(requst.body.decode(‘utf-8’)),