Django中Ajax处理

时间:2023-03-09 07:02:27
Django中Ajax处理

1.大部分和Flask中相同。

2.Django处理JSON,主要是对于查询结果集处理。

  使用Django提供的序列化的类来完成QuerySet到JSON字符串的转换

from django.core import serializers
QuerySet = User.objects.all()
jsonStr=serializers.serialize('json',QuerySet) # 得到的结果是一个json字符串

3.提交POST请求

  1.网页中任意一个位置增加 {% csrf_token %}
    目的:是为了得到csrf令牌(隐藏域)的键和值
  2.在ajax post 请求中提交参数时,需要将csrf令牌的键和值也提交给服务器

在html中的body里面创建一个button

<button onclick="btnPost()">AJAX-POST</button>
{% csrf_token %} <!-- 通过csrf验证 -->

然后在script中进行ajax处理post请求

<script>
function btnPost(){
$.post('/post-server/',{
'uname':'zengsf’',
'uage':23,
'csrfmiddlewaretoken':$("[name='csrfmiddlewaretoken']").val()
},function(data){
console.log(data);
});
}
</script>