1、ajax
Ajax 介绍:AsynchronousJavascript and XML(异步的JavaScript和xml)。
普通请求,会携带整个页面提交,最明显的特征是刷新页面,并且请求可能阻塞整个服务。这样导致:
请求内容和响应内容冗余,
用户体验特别差。
基于以上的问题,后来出现了ajax请求。
1、ajax可以发起局部请求,页面整体可以不刷新,只是页面的局部刷新。
2、Ajax可以发起异步请求,请求的过程当中不会阻塞web正常操作和访问。
Ajax的兴起得益于Google公司的推广,Google公司在本公司大量的项目当中使用了ajax。这件事儿让微软公司感觉很尴尬,在1997年,微软公司就发明了ajax核心技术,1999年微软的ie5浏览器就开始兼容ajax对象(xmlhttpRequest),微软公司在后来就将ajax技术搁置了。
Ajax需要js语法进行编写,原生js的ajax比较复杂,因为各种浏览器对ajax对象的兼容是不一样的,使用js写ajax,首先要完成的是各种浏览器的ajax实例创建。比较繁复,所有我们通常用jq封装过的ajax。
Ajax get请求
需要一个页面,但是需要两个视图。
第一个视图只是负责生产ajax请求的页面:
1、视图文件

from  django.http  import JsonResponse#json+httpresponse
def  ajax_get_data(request):result={"status":"error","content":""}#初始化一个返回结果的格式username=request.GET.get('username')#获取ajax_get请求过来的usernameprint(username)if  username:#用户名不为空user=LoginUser.objects.filter(username=username).first()#查询数据库有没有和新输入的用户名一样的用户名print(user)if  user:#如果有1结果,证明用户名已经被使用result["content"]="用户名重复"else:#如果没有结果,证明用户名没有被使用,可以使用result["status"]="success"result["content"]="用户名可以使用"else:#如果用户名可以为空result["content"]="用户名不可以为空"return  JsonResponse(result)

2、静态页面 ajax_get.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="/static/js/jquery.min.js"></script>
</head>
<body>
<input id="username"  type="text">
<button id="valid"  type="button">效验</button>
<span id="tishi" style="color:red;"></span>
<script>$("#valid").click(function(){var  username=$("#username").val();//获取输入的用户名var  url="/agd/?username="+username;//拼接url$.ajax(//发起ajax请求,是 jq  ajax的固定格式{  //ajax配置项必须在一个对象(字典)当中url:url,//请求的路由type:"get",//请求的类型success:function (data) {//请求成功的数据var content=data.content;$("#tishi").text(content)},error:function (error) {//请求失败的数据console.log(error)}})})
</script>
</body>
</html>

3、路由配置

path('ag/',ajax_get),
path('agd/',ajax_get_data),

django的ajax_get请求相关推荐

  1. 第九章 Django框架——csrf请求伪造和csrf_token使用

    第九章 Django框架--csrf请求伪造和csrf_token使用 一.csrf请求伪造 二.csrf_token使用 三.简单的csrf_token应用 四.Ajax使用csrf_token 一 ...

  2. Django视图层:URL调度器、Django处理一个请求、URLconf在查找什么?URL:①path()路径、②路径转换器Path converter、③正则表达式组re_path()

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.URL调度器URL dispatcher urlpattern:U ...

  3. Django(part50)--Web请求认证

    学习笔记,仅供参考 文章目录 Web请求认证 用户认证authenticate 用户登录login 用户登出logout 举个例子 Web请求认证 相关函数 from django.contrib.a ...

  4. Django(part10)--POST请求

    学习笔记,仅供参考 文章目录 POST请求 POST传递参数的获取 举个例子 取消CSRF验证 POST请求 POST传递参数的获取 客户端通过表单等POST请求将数据传递给服务器端 <form ...

  5. django通过ajax请求接口返回多条数据,并动态生成表格,请求表单后将表格数据并入库

    一.最近在做接口相关的开发,需求是这样的,通过一个接口所需要传递的参数,调用接口后,处理接口响应的参数,返回多条数据,并动态生成表格,请求表单后将表格的数据入库,下面是我改过的代码,跟实际代码有些出入 ...

  6. django 使用requests请求相关接口

    1.如果是get请求接口,并且需要带相关参数的话,可以借鉴下面的代码: import requestsfrom django.http import JsonResponsedef get_info( ...

  7. Django Ajax发送请求使用方法

    首先需要引入Jquery这个库 其次: 需要引入csrf_token 原因是因为django 表单认证需要csrf认证 最后,就是正常执行ajax发送请求 示例代码如下: <script src ...

  8. django http 收发_如何从一个django服务器发送请求到另一个服务器

    我有一个 django问题.我想发送来自浏览器或业务逻辑的数据 在我的django服务器上到另一个django服务器或只是相同的服务器但不同的端口,来处理请求.我能怎么做?我试图使用socket实现, ...

  9. django 接收ajax请求

    原文:http://qindongliang.iteye.com/blog/2147336 Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无 ...

最新文章

  1. ubuntu 对apahce的php 服务器使用
  2. DG环境数据库RMAN备份策略制定
  3. 如果有机会,买一个能够兼容多终端的大屏幕是很重要的
  4. [BUUCTF-pwn]——bjdctf_2020_babyrop
  5. Express 入门之Router - worldtree_keeper的专栏 - CSDN博客
  6. SLF4JLoggerContext cannot be cast to LoggerContext
  7. iis7.5 php伪静态,Windows Server 2008 下WordPress IIS7.5伪静态规则设置(最新)
  8. 朋友圈消失的人,都在偷偷读哪些书?
  9. 3-29Pytorch与autograd梯度与机器学习
  10. Hibernate Session get()vs load()实例差异
  11. Linux sys_call_table变动检测
  12. python-gui-pyqt5的使用方法-4--自定义信号的初识--多参数的使用
  13. 2021-04-23 - TS型网页视频下载 - 学习/实践
  14. Java 反射和映射
  15. 阿里云Ubuntu系统部署K8s集群
  16. 除了努力挣钱,青春也不能错过的十件事
  17. 北京市地震灾后规划信息化分析
  18. Arduino学习总结
  19. word中公式和文字不在一行的设置方法
  20. JAVA的file.separate

热门文章

  1. 【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数
  2. python中的逻辑量有什么_python逻辑运算符有哪些
  3. 扩展内容(线程的同步方法)
  4. 什么是 MultiRaft ?
  5. 正式突破两千粉丝!开心!
  6. 【简便代码】1082 射击比赛 (20分)_17行代码AC
  7. C语言满分代码:1018 锤子剪刀布 (20分)(解题报告)
  8. Pytest前后置处理
  9. (*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解
  10. TOMCAT部署项目的方式