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. thymeleaf模板的使用(转)

    作者:纯洁的微笑 出处:http://www.ityouknow.com/ 在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thym ...

  2. 详解MongoDB管理命令

    MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一 ...

  3. idea的mybatis的xml文件总是报警告SQL dialect is not configured

    警告: No data sources are configured to run this SQL and provide advanced code assistance. Disable thi ...

  4. mybatis防止sql注入

         SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者).[摘自] SQL injection - Wikipedi ...

  5. 【java】正则表达式简单示例

    public class Test { public static void main(String[] args) { String str="135axy"; String r ...

  6. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  7. arcgis api for js入门开发系列十五台风轨迹

    上一篇实现了demo的地图最近设施点路径分析,本篇新增台风轨迹,截图如下: 下面简单介绍相关知识点: 警戒线 警戒线坐标集合: var lineArr24=[[127,34],[127,21],[11 ...

  8. open-falcon(v0.2)部署手册(源码编译)

    今天安装falcon-plus,下面为用基础环境配置. centos 6.8  alisql5.6.32   redis-3.2.8 cmake-3.9.1 bison-3.0 openssl-1.0 ...

  9. bzoj 3531: [Sdoi2014]旅行

    Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰. ...

  10. 线上平滑升级nginx1.12

    .下载相关包,需要和之前用到的依赖包保持一致 wget http://nginx.org/download/nginx-1.12.2.tar.gz wget https://bitbucket.org ...