chan

朝生暮死不足笑 但悲百年不足道

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’)),

 将 JSON 字符串解析成 Python 对象。json.loads() 函数会将 JSON 字符串转换为 Python 字典或列表,具体取决于 JSON 的结构。

评论
还没有评论
    发表评论 说点什么