微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax

ajax简介

页面不刷新的情况下可以与后端进行数据交互
异步提交 局部刷新
 
ajax本质就是一些js代码
使用ajax的前提必须要引入jQuery文件

学习Ajax一定要能够发现from表单提交数据的区别
ajax提交数据页面不用刷新 原始数据还在 处理数据的过程中不影响页面其他操作
form表单提交数据页面刷新 原始数据不在 并且处理数据的过程中无法做其他操作
   
   页面上有三个input框和一个提交按钮 前两个框输入数字 点击按钮 最后一个框里面展示数字的和 并且页面不能刷新
 $('#btn').click(function () {
           // 获取两个框里面的数据
           let i1Val = $('#i1').val();
           let i2Val = $('#i2').val();
           // 发送ajax请求传输数据
           $.ajax({
               url:'',  // 不写认就是当前页面所在的地址
               type:'post', // 指定当前请求方式
               data:{'i1':i1Val,'i2':i2Val},  // 请求携带的数据
               success:function (args) {  // 异步回调函数 后端有回复自动触发
                   $('#i3').val(args)
              }
          })
      })

前后端传输数据编码格式

"""
请求体中携带编码格式
Content-Type:...
django针对不同编码方式的数据格式会采用不同的处理策略
"""
form表单认发下哦那个的编码格式
Content-Type: application/x-www-form-urlencoded
数据格式:username=jason&password=123
django后端会自动处理到:request.POST
form表单发送文件
Content-Type: multipart/form-data
数据格式:隐藏不让看
django后端会自动处理:request.POST  request.FILES
ajax认的编码格式
Content-Type: application/x-www-form-urlencoded
数据格式:username=jason&password=123
django后端会自动处理到:request.POST

ajax发送json格式数据


form表单是无法发送json格式数据的
ajax发送的数据类型一定要跟数据的编码格式一致
编码格式是urlencoded
   数据格式就应该是username=jason&password=123

django后端针对json格式不会做任何的处理,就在request.body内需要我们自行处理
$('#d1').click(function () {
       $.ajax({
           url:'',
           type:'post',  // 不写认也是get请求
           contentType:'application/json',  // 不写认是urlencoded编码
 data:JSON.stringify({'name':'jason','pwd':123}),  // 序列化方法
           success:function (args) {
          }
      })
  })

ajax携带文件数据

$("#d1").click(function () {
       // 需要利用内置js内置对象FormData
       let myFormData = new FormData();
       // 对象添加普通数据
       myFormData.append('username',$('#name').val())
       myFormData.append('password',$('#pwd').val())
       // 对象添加文件数据
       myFormData.append('my_file',$('#file')[0].files[0])
       // 发送ajax请求
       $.ajax({
           url:'',
           type:'post',
           data:myFormData,
           // 携带文件必须要指定的两个参数
           contentType:false,
           processData:false,
           success:function (args) {
               // 处理异步回调返回的结果
          }
      })
  })

回调机制处理策略

使用ajax交互 所有的操作都不在直接影响整个页面(局部操作)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐