django中有关ajax的部分

yizhihongxing

Django_ajax

1 简介

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

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

2 特点

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

3 能向后端发送请求的方式

序号 类型 请求方式
1 浏览器地址栏直接输入url get请求
2 a标签的href属性 get请求
3 form表单action属性 get请求和post请求
4 ajax get请求和post请求

4 ajax的使用

ps:作为后端人员,前期只需要学习jquery封装之后的版本就行(不需要学习原生的ajax,原生的复杂且项目中一般不用),所以在前端

页面使用ajax的时候需要先导入jquery

4.1 jquery中ajax的使用方法

jquery调用ajax的方法:
    格式:$.ajax({});
        参数:
            type:请求的方式get、post(小写)
            url:"" 请求的地址,不写默认为当前地址
            async:是否异步,默认为true表示异步
            data:发送到服务器的数据
            dataType:'json'预期服务器返回的数据类型为json格式
            contentType:设置请求头
            success:function(date){}; data是形参名,请求成功时调用此函数
            error:请求失败时调用此函数

小案例:
需求:页面上有三个input框,在前两个框中输入数字 点击按钮 朝后端发送ajax请求,后端计算出结果 再返回给前端动态展示的到第三个input框中(整个过程页面不准有刷新,也不能在前端计算)

html部分


<body>
<input type="text" id="d1">+
<input type="text" id="d2">=
<input type="text" id="d3"><br>
<button id="btn">提交</button>
</body>
<script>
    $('#btn').click(function (){  # 点击btn按钮时触发click事件,执行ajax
        $.ajax({
            type:'post', # 指定请求方式
            url:'', # 不写默认向当前地址提交
            data:{'u1':$('#d1').val(),'u2':$('#d2').val()},  #获取需要向服务器提交的值,使用jquery动态获取用户提交的值
            success:function (args){  # ajax的url请求成功时执行的函数,args指的是服务端传到客户端的数据,如果是服务端返回的是字典,则需要进行反序列化
                $('#d3').val(args)   #将传回的数据添加到d3框中
            }
        })
    })
</script>

后端部分

def index(request):
    if request.method =='POST':
        u1 = request.POST.get('u1') #接收前端传来的数据
        u2 = request.POST.get('u2')
        u3 = int(u1)+int(u2) # 将数据进行相加
        return HttpResponse(u3)  # 把结果返回给前面,注意这个用HttpResponse返回,如果是字典,则需要进行序列化
      # return JsonResponse(dict) # 直接把字典序列化,前端也无需在反序列化了! 
    return render(request,'index.html')  # 最后还需要返回原先的页面

4.2ajax发送json格式数据和文件

详见:django中前后端传输数据的编码格式(contentType)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django中有关ajax的部分 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • python基础(待补充)

    第一篇:计算机的基础知识 编程语言的介绍    计算机介绍和五大组成 平台与软件跨平台介绍 CS、BS架构和网络通信协议 操作系统的介绍 cpu详解 存储器详解 操作系统启动流程和BIOS介绍 关于编辑器和解释型编译型语言 第二篇:python环境的搭建 python介绍和解释器的安装(暂略) python程序的运行方式和步骤 集成开发环境和虚拟环境介绍 第…

    Python开发 2023年4月2日
    00
  • rest_framework认证源码分析

    认证源码分析 位置 : APIVIew—-》dispatch方法—》self.initial(request, *args, **kwargs)—->有认证,权限,频率三个版块 分析: 只读认证源码: self.perform_authentication(request)—》self.perform_authentication(re…

    2023年4月2日
    00
  • xadmin的使用

    安装 在项目的虚拟环境下执行 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 注意:xadmin对于不同django版本有不同的版本,一定要使用相对应的版本 在app中注册 INSTALLED_APPS = [ # … # xadmin主体模块 ‘xadmin’, # …

    Python开发 2023年4月2日
    00
  • 基于tcp协议的套接字通信

    1、套接字socket简介 Socket是应用层与TCP/UDP协议通信的中间软件抽象层,它充当一种接口的角色!封装了传输层以下的东西。 1.1基于tcp的socket通信流程图 2.tcp服务端搭建 需求:模拟两个手机的通话 from ipaddress import IPv4Address import socket # 1.买手机 # socket.A…

    2023年4月2日
    00
  • 文章的点赞点踩制作

    文章的添加 博客园打开需要拷贝的文章,右键检查–》选择cnblogs_post_body这一个div,然后复制outer HTML到admin后台文章表里面 最后需要在文章详情页的文章内容那一行添加一个|safe 点赞点踩制作 前端样式: 不会写,直接拷贝博客园的点赞点踩html和css样式 {# 点赞点踩样式开始:复制博客园的点赞点踩样式,拷贝其对应的o…

    2023年4月2日
    00
  • python中的内置函数

    内置函数 # 1.abs函数 print(abs(-1)) # 绝对值方法 # 2.all函数 print(all([1,’aaa’,”])) # false print(all([])) # true #all方法里面是一个可迭代对象,all会自动将这个对象for循环一下,如果所有的值为true,则返回true;如果可迭代对象为空,则返回true # 3…

    Python开发 2023年4月2日
    00
  • 登录注册接口搭建

    登录接口分析 登录分为多方式登录和验证码登录方式 多方式登录 1)前台提供账号密码,账号可能是 用户名、手机号、邮箱等 接口: 后台只需要提供一个多方式登录接口即可 – 多方式登录接口 多方式登录接口 前端输入完账号和密码,点击登录,向后端发送请求进行校验用户登录数据 urls.py from django.urls import path,re_path,…

    Python开发 2023年4月2日
    00
  • cpu详解

    1.cpu的指令集和分类 1.1cpu的指令集 cpu的指令集指的是:控制计算机硬件的一系列命令。 指令集可以分为: 1.精简指令集:更短、更稳定,每条指令集运行的时间更短2.复杂指令集:可以完成更复杂的功能。需要花费的时间更长 1.2cpu的分类 cpu按照指令集可以分为:精简指令集cpu和复杂指令集cpu 2.x86-64位的概念 x86针对的是cpu的…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部