当前位置: 首页 > 网络应用技术

如何从Django发送AJAX请求(2023年最新的完成)

时间:2023-03-06 13:17:11 网络应用技术

  指南:本文的首席执行官注释将介绍有关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请求的相关内容的摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?