Django基础之Ajax简介

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

Ajax不是新的编程语言,而是一种使用现有标准的新方法。

Ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程)

Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

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

1. 示例:

页面输入两个整数,通过Ajax传输到后端计算出结果并返回。

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport"
 6           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
 9     <title>Document</title>
10 </head>
11 <body>
12 <h2>Ajax计算</h2>
13 <input type="text" id="text1">+
14 <input type="text" id="text2">=
15 <input type="text" id="result">
16 <button type="submit" id="button1">计算</button>
17 <script>
18     $("#button1").click(function () {
19         var t1 = $("#text1").val();
20         var t2 = $("#text2").val();
21         $.ajax({
22             url:‘/calc/‘,
23             type: ‘post‘,
24             data: {
25                 ‘t1‘: t1,
26                 ‘t2‘: t2
27             },
28             success: function(res){
29                 $("#result").value(res)
30             }
31         })
32     })
33 </script>
34 </body>
35 </html>

html代码

 1 from django.shortcuts import render, HttpResponse
 2
 3 def index(request):
 4     return render(request, "index.html")
 5
 6 def calc(request):
 7     t1 = int(request.POST.get("t1"))
 8     t2 = int(request.POST.get("t2"))
 9
10     res = t1 + t2
11     return HttpResponse(res)

views.py

 1 from django.conf.urls import url
 2 from django.contrib import admin
 3 from app01 import views
 4
 5 urlpatterns = [
 6     url(r‘^admin/‘, admin.site.urls),
 7
 8     url(r"^/index/", views.index),
 9     url(r‘^/calc/‘, views.calc)
10 ]

urls.py

2. Ajax常用应用情景

搜索引擎根据用户输入的关键字,自动提示检索关键字。

还有一个很重要的应用场景就是注册的时候的用户名查重。

其实这里就是使用了Ajax技术。当文件框发生了输入变化时,使用Ajax技术向服务器发送一个请求,然后服务器会把查询到的结果响应给浏览器,最后再把后端返回的结果展示出来。

  • 整个过程中页面没有刷新,只是刷新页面中的局部位置而已
  • 当请求发出后,浏览器还可以进行其它操作,无需等待服务器的响应

当输入用户名后,把光标移动到其他表单项上时,浏览器会使用Ajax技术向服务器发出请求,服务器会查询名为lemontree7777777的用户是否存在,最终服务器返回true表示名为lemontree7777777的用户已经存在了,浏览器在得到结果后显示“用户名已被注册!”

  • 整个过程中页面没有刷新,只是局部刷新了;
  • 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作。

3. Ajax的优缺点

3.1 优点

  • Ajax使用JavaScript技术向服务器发送异步请求;
  • Ajax请求无须刷新整个页面;
  • 因为服务器响应内容不再是整个页面,而是页面中的部分内容,所以Ajax性能高;

3.2 缺点

滥用技术,造成服务器压力过大

原文地址:https://www.cnblogs.com/yang-wei/p/10008695.html

时间: 2024-08-30 13:43:41

Django基础之Ajax简介的相关文章

Django基础之Ajax

知识预览 Ajax前戏:json Ajax简介 Jquery实现的ajax JS实现的ajax Ajax前戏:json 什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输

Django 基础 之ORM简介与单表操作

一.ORM简介 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM). 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 咱们通过一张图来介绍一下数据库与python代码之间的一个关系,请看下图: 2.ORM的功能 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行 - 增删改查 ORM利用pymysql第三方工具链接数据库

09.Django基础七之Ajax

一 Ajax简介 1.简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步的Javascript和XML".即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容.(这一特点给用户的感受是在不知不觉中完成请求和响应

Django基础七之Ajax

目录 一 Ajax简介 1.简介 2.示例 3.AJAX常见应用情景 4.AJAX的优缺点 二 Ajax的使用 1.基于jQuery的实现 2.基于原生js实现 3.Ajax-服务器-Ajax流程图 三 Ajax请求设置csrf_token 方式1 方式2 四 Ajax文件上传 请求头ContentType 1 application/x-www-form-urlencoded(看下图) 2 multipart/form-data 3 application/json 基于form表单的文件上传

Python Day19-20(Django基础)

一.Django基础 1.基本配置补充 可以用pycharm一键创建工程和APP 其他常用命令: python manage.py runserver 1.1.1.1:8000 python manage.py startapp appname python manage.py syncdb python manage.py makemigrations python manage.py migrate python manage.py createsuperuser 数据库配置 setting

Django 基础教程

Django 基础教程 这是第一篇 Django 简介 ?  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单!本教程一直在更新,从开始写到现在大概写了一年多了,现在也一直在坚持写,每一篇教程都可能随时更新,可以在网站首页看到最近更新的情况. 我阅读学习了全部的 Django英文的官方文档,觉得国内比较好的Django学习资源不多,所以决定写自己的教程.本教程开始写的时候是 Django 的版本是 1.6,

Django基础(三)

知识预览 Ajax前戏:json Ajax简介 jquery实现的ajax JS实现的ajax 回到顶部 Ajax前戏:json 什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提

Python学习之旅—Django基础

前言  前段时间业务比较繁忙,没时间更新博客,从这周开始将继续为各位更新博客.本次分享的主题是Django的基础部分,涵盖Django MTV三部分,并通过一个简单的班级管理系统来说明如何使用Django进行开发,好啦,开始今天的主题吧! 一.浅谈MVC.MTV和MVVM 要学习Django,我们很有必要了解下MVC,MTV和MVVM三种模式. [001]MVC MVC(Model View Controller 模型-视图-控制器)是一种Web架构的模式(本文不讨论桌面应用的MVC),它把业务

Django基础之MTV模型

一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Controller).它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布.这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. 1.mvc简介 http://blog.csdn.net/pi9n