声明:ajax需要有一定的HTML 和js、jsquery基础
这里是基于python3和django2.1.8实现的ajax例子
原理图:
原理解释:
1.前端向后端发送ajax请求:
必须写出你要请求的地址,请求的方式,请求的数据类型,这里一般为json格式
2.django后端对前端发起的请求进行处理返回一个JsonResponse对象,数据格式为字典这里的处理函数要和1中的请求地址保持一致
3.前端执行回调函数,当获取到后端传过来的顺序之后进行最后的处理。
下面是详细步骤:
1. Html文件中引入jquery静态文件
这里静态文件的引入可以查看我以前的博客,相信大家应该都会
{% load static %}
Title{#1.引入jquery静态文件#}
2. 在html中寻找ajax需要绑定事件的对象
首先我们看看测试的html文件中body中的内容
我们准备将这个按钮绑定给ajax
$(function () {
{#绑定ajax事件#}
$("#obj").click(function () {
$.ajax({
'url':'/user/ajax_handle', #这里是请求的方法的地址
'dataType':'json',
}).success(function (data) { #这里一定要传入参数data
//进行处理
{#alert(data.res)#}
if (data.res == 1){}
alert(data.res)
})
})
})
格式如上图
我们看看view的视图函数同时各位记得配置一下路由就ok了
问题:
如上操作会报错403错误:
解决方案如下:
在views.py中引入如下fromdjango.views.decorators.csrf import csrf_exempt,csrf_protect
如下
在views.py里定义的函数加上装饰器
@csrf_exempt
def ajax_test(request):return render(request,'ajax_test.html')
@csrf_exempt
def ajax_handle(request):return JsonResponse({'res':1})
#这样就ok了