首页 > 其他分享 >Django与Ajax

Django与Ajax

时间:2022-12-19 21:36:47浏览次数:48  
标签:XML args ajax Django 发送 Ajax 数据 myFormDataObj

Ajax


ajax不是一门新的技术并且有很多版本,我们目前学习的是jquery版

Ajax简介

Ajax即Asynchronous Javascript And XML 也就是异步 JavaScript和 XML

  • 异步:和同步对应
  • JavaScript:通过JavaScript来操作,发送请求到服务端
  • XML:数据交互使用XML,现在主流使用JSON格式
  • 局部刷新:JS的DOM操作

即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)

基本语法

	$.ajax({
        url:'',  
        type:'post',  // 请求方式 默认也是get
        data:{'v1':v1Val, 'v2':v2Val}, 
        success:function (args) {  // 后端返回结果之后自动触发 args接收后端返回的数据
         	 $('#d3').val(args)
                                }
    })
  • url

    有三种填写方式,与form标签的action一致

    1)不填写--超当前地址提交

    2)填写一个完整的网址--超完整网址提交

    3)路由--超该路由提交

  • type

    请求方式 默认也是get

  • data

    发送的数据,以字典的形式发送

  • success

    异步回调函数

    args接收后端返回的数据

如何发送ajax:

  • 通过绑定点击事件
  • input框监听事件

content-Type参数

编码格式,类似于数据报头

image-20221219115927546

1.urlencoded

ajax默认的编码格式、form表单默认的格式

数据格式 :xxx=yyy&uuu=ooo&...

django后端会自动处理到request.POST

2.form data

包括文件数据

django后端针对普通的键值对还是处理到request.POST中,但是针对文件会处理到request.FILES

3.Application/json

ajax支持发送的数据

  • 普通数据urlencoded
  • form data
  • Application/json

request.body 前端发送的数据都先放在body中,如果是普通数据发送给POST,如果是文件会将普通数据放到POST中,文件数据交给FILES中

而json格式的数据则不处理放在body中,后端自己处理json格式数据

ajax携带文件数据

<script>
    $('#d3').click(function () {
        // 1.先产生一个FormData对象
        let myFormDataObj = new FormData();
        // 2.往该对象中添加普通数据
        myFormDataObj.append('name', 'jason');
        myFormDataObj.append('age', 18);
        // 3.往该对象中添加文件数据
        myFormDataObj.append('file', $('#d2')[0].files[0])
        // 4.发送ajax请求
        $.ajax({
            url:'',
            type:'post',
            data:myFormDataObj,

            // ajax发送文件固定的两个配置
            contentType:false,
            processData:false,
            success:function (args){
                alert(args)
            }
        })
    })
</script>

标签:XML,args,ajax,Django,发送,Ajax,数据,myFormDataObj
From: https://www.cnblogs.com/DuoDuosg/p/16993097.html

相关文章

  • django之Q查询进阶、ORM查询优化、ORM事务、ORM常用字段类型和字段参数、Ajax介绍、数
    一、Q查询进阶操作这里主要就是让查询数据的时候,可以使用input获取的信息,进行用户交互。fromdjango.db.modelsimportQq_obj=Q()#1.产生q对象q_obj.connector=......
  • python之路52 ORMQ查询、ORM事务、查询优化、常用字段及参数、ajax方法
    Q查询进阶操作fromdjango.db.modelsimportQq_obj=Q()#1.产生q对象q_obj.connector='or'#默认多个条件的连接是and可以修改为orq_obj.children.append(('......
  • Ajax
    Ajax简介特点:异步提交,局部刷新ajax不是一门新的技术并且有很多版本,我们目前学习的jQuery版本(版本无所谓,本质都一样)基本语法 $.ajax({url:'' 填的是后......
  • 进入python的世界_day55_Django—ORM进阶操作、ORM事务、Ajax
    一、ORM进阶操作1.Q查询进阶Q查询还可以将查询的字段改为字符串形式q_obj=Q()q_obj.connector='or'#q对象默认是多个条件也是and关系可以修改为orq_obj.child......
  • AJAX(笔记07) - 原生AJAX - 请求超时、网络异常、取消请求和重复请求处理
    开发的产品上线后,难免会遇到请求超时或网络异常的情况,在客户端设置超时处理和异常提醒,可以提升用户体验。手动取消请求和取消重复发送请求,可以节省服务端资源;这篇,来实现这些......
  • Ajax
    Ajaxajax不是一门新的技术并且有很多版本,我们目前学习的是jQuery版本,各版本之间本质是一样的Ajax的特点是异步提交,局部刷新Ajax基本语法基本语法 $.ajax({ur......
  • django 08 orm查询相关3
    Q查询进阶importosdefmain():os.environ.setdefault('DJANGO_SETTINGS_MODULE','djangoday07.settings')importdjangodjango.setup()fromapp......
  • django框架(部分讲解)
    Q查询进阶操作这里主要就是让查询数据的时候,可以使用input获取的信息,进行用户交互fromdjango.db.modelsimportQq_obj=Q()#1.产生q对象q_obj.connector='or'......
  • Ajax
    目录AjaxContent-Typeajax携带文件数据Ajax异步提交局部刷新ajax不是一门新的技术并且有很多版本我们目前学习的是jQuery版本(版本无所谓本质一样就可以) 基本语......
  • Ajax
    目录AjaxContent-Typeajax携带文件数据Ajax异步提交,局部刷新基本语法$.ajax({url:'',#提交地址,与form标签的action一致type:'post',#请求......