指南:本文的首席执行官注释将介绍有关Django如何发送Ajax请求的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
(1)创建一个请求对象
新的XMLHTTPREQUEST()(您需要接收变量才能继续)
(2)设置请求方法和请求路径:
接收要打开的请求对象的可变名称:
获取请求:直接用要带到过去的参数将路径写入问号链接参数以编写连接
发布请求:设置请求路径和请求方法
(3)发送请求
获取请求:创建的请求对象名称直接调用send()
发布请求:设置请求head setRequestheader()并设置参数以传递参数
(4)监视事件事件,获取请求状态代码和响应代码状态
ReadyState获得请求状态
要求五个州:
0(初始化)未调用send()方法
1(load)已调用Send()方法,并且请求发送请求
2(合并完成)send()方法已收到所有相应的内容
3(互动)正在分析响应内容
4(完成)可以在客户端调用相应的内容分析
状态响应状态代码
200好的成功
404找不到找不到相应的资源
403禁止禁止访问
304不修改
通常,5的开始是服务器错误
通常4从前端错误开始
ResponseText获取相应的数据
POST方法与Django可以直接获得的GET方法不同,因为Django添加了CSRF保护邮政为邮政,详细的文档地址地址
注意:在最新版本中,在设置中。
mideware_classes =(
'django.contrib.sessions.middleware.sessionmiddleware',
'django.middleware.common.commonmiddleware',
'django.middleware.csrf.csrfviewmiddleware',//此行是vsrf
'django.contrib.auth.middle.authenticationmiddleware',,
'django_cas.middleware.casmiddleware',
'django.contrib.auth.midderware.sessionauthenticationmiddleware',
'django.contrib.messages.middle.messagemiddleware',,
'django.middleware.clickjackinginginginginginginginginginging
治愈
如果您想直接避免CSRF检测该层,则有几种方法:
1您需要添加@csrf_exempt,然后才需要在Views.py中引发。我不得不从django.views.decocotors.csrf导入csrf_exempt。
2在settings.py中,您可以在settings.py中的mideware_classes中发表评论。
说正确使用CSRF的方法:
对于ajax.post方法,您需要在触发AJAX方法之前添加JS的一部分。我了解的本节是生成不同的令牌,但是我很好奇是否被禁止。
HTML页面上的Django的Ajax方法通过加载方法传递。
示例:ajax.html
html
头
meta charset =“ utf-8” / /
Titleajax测试/标题
脚本类型=“ text/javascript” src =“ https://www.shouxicto.com/article/"/script
脚本类型=“ text/javascript”
jQuery(fuins($){
$('button')。单击(函数(){
$ name = $(this).attr('name');
$('#out')。空的 ()。load('/ajax_deal/',{name:$ name});
});
});
/脚本
样式类型=“ text/css”/style
/头
身体
按钮ID =“ BTN-1”名称=“ 1” 1/按钮
按钮ID =“ BTN-2”名称=“ 2” 2/按钮
按钮ID =“ BTN-3”名称=“ 3” 3/按钮
DIV ID =“ OUT”/div
/身体
/html
设置下部路由:url(r'^ajax_deal/$','jobs.views.ajax_deal'),创建一个名为obs的应用程序
/opt/django/webproject/jobs
处理功能:
DEF AJAX_DEAL(请求):
返回httpresponse(“ Hello”)
结论:以上是Django如何向所有人汇编的Ajax请求的相关内容的摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?