AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。

  • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
  • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)

jqyery实现局部刷新更加高效:

ajax实现的是异步交互:浏览器发送一个请求后,不用等服务器响应就可以发送第二个请求,更加高效(eg:qq发送消息就属于异步通信)====偷偷的想后端发请求

json对象都是一些特殊的字符串,用双引号抱起来

为什么要用json:多种语言之间的交互

在前端要向后台发送数据,最好是发一个json类型的,然后通过反解得到json字符串:

在python中:一个字符串经过dumps之后可以序列化成json字符串;一个json字符串通过loads反序列化可以得到python的字符串;

在jQuery中:一个字符串可以通过stringfy的方法的到json的字符串;通过parse的方法可以拿到jQuery的字符串;

前端数据===stringfy===>json字符串=====传到后端======>loads 反序列化的到python 数据

后端数据===dumps====>json字符串====传到前端======>parse 发序列化得到前端数据;

请求方式:POST与GET请求

<script>
$(".send_ajax").click(function () {
$.ajax({
url:"/get_ajax/", #请求路径
type:"GET", #请求方式
data:{
username:"Mr_zhang",
password:123
}, #请求数据
success:function (data) {
alert(data) #成功之后后端返回的数据
}
})
})
</script>

 后端获取前端的数据:

def get_ajax(request):
username = request.GET.get("username") #获取到前端的数据
password = request.GET.get("password")
print("======",username,"======",password)
return HttpResponse("egon is crying") #返回给前端的数据

PS:删除无刷新:

先获取到当前点击的ID值,通过ajax传输到后台,后台通过串过来的ID值在数据库中查找,然后删除,由于是无刷新技术,所以只是在后端删除了,前端看不到结果:不过数据库的确是删除了的;药箱看到结果,在ajax中的success里面写jQuery代码就好了(先找到当前点击的,找他爸爸的爸爸,删除第一个,此时前端也没了,不过页面没有刷新)

增删改查无刷新原理和这个类似,只是代码的细节问题

Django_ajax的更多相关文章

  1. 异步请求之ajax

    一.初识ajax 1.下载引入jQuery <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"& ...

  2. Django(十三)ajax 与 Bootstrap,font-awesome

    prop,attr,val font-awesome:字体,图标库 对话框添加,删除,修改: 添加: Ajax偷偷向后台发请求: 1. 下载引入jQuery 2. $.ajax({ url: '/ad ...

  3. Django,ajax实现表格增删查改,Django内置分页功能。

    1.工程目录 2.urls.py """Django_ajax URL Configuration The `urlpatterns` list routes URLs ...

随机推荐

  1. navicat创建存储过程、触发器和使用游标

    创建存储过程和触发器 1.建表 首先先建两张表(users表和number表),具体设计如下图: 2.存储过程 写一个存储过程,往users表中插入数据,创建过程如下: 代码如下: BEGIN #Ro ...

  2. 企业级nosql数据库应用与实战-redis

    一.NoSQL简介 1.1 常见的优化思路和方向 1.1.1 MySQL主从读写分离 由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力.读写集中在一个数据库上让数据库不堪重负,大部 ...

  3. 6.python内置函数

    1. abs() 获取绝对值 >>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10 2. all()   ...

  4. python scipy计算机数值库

    scripy有聚类的python 代码,如: http://blog.csdn.net/elaine_bao/article/details/50242867

  5. OC学习16——对象归档

    转载自  OC学习篇之---归档和解挡 OC中的归档就是将对象写入到一个文件中,Java中的ObjectInputStream和ObjectOutputStream来进行操作的.当然在操作的这些对象都 ...

  6. Spring入门篇总结:

    本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...

  7. 安全扫描工具 Netsparker

    Netsparker是一款web应用安全漏洞扫描工具 Netsparter官网:https://www.netsparker.com/web-vulnerability-scanner/,与其他安全扫 ...

  8. Disruptor并发框架(一)简介&上手demo

    框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易.这个系统是建立在JVM平台上,其核心是一 ...

  9. springMVC(5)---导入excel文件数据到数据库

    springMVC(5)---导入excel文件数据到数据库 上一篇文章写了从数据库导出数据到excel文件,这篇文章悄悄相反,写的是导入excel文件数据到数据库.上一篇链接:springMVC(4 ...

  10. K:线性表的实现—链表

    单链表的概念:  采用链式存储方式存储的线性表称之为链表,链表中每个节点包含存放数据元素的值的数据域和存放指向逻辑上相邻节点的指针域.若一个节点中只包含一个指针域,则称此链表为单链表. 单链表的特点: ...