zoukankan      html  css  js  c++  java
  • AJAX

    1. json
    1. json是一种数据格式
    2. 数据类型
    3. 序列化
    4. 反序列化
    5. 前端
        数据类型:字符串 数字 布尔值 数组 对象 null
        序列化:JSON.stringify(js的数据类型)
        反序列化:JSON.parse(json的字符串)
    6. JsonResponse
        from django.http import JsonResponse
        JsonResponse([], safe=False)
    
    1. 发请求的途径
      1. a标签 GET
      2. form表单 GET /POST
        1. action:
        2. method:
        3. input标签要有name属性
        4. 有一个input标签的type='submit'或者button
      3. 地址栏中输入地址回车 GET

      注意以上三种方式是同步请求

      1. ajax(异步)
    2. ajax
      1. 使用js的技术发请求的一个方式,与服务器交互的技术
      2. 特点: 异步 页面局部刷新 传输的数据量小
      3. 使用:
        1. 使用JQuery:
          1.格式
          2.上传文件
          form_obj = new FormData()
          form_obj.append('f1', $())
          $.ajax({
          })
    3. 使用格式及参数
      $.ajax({
          url: '/ajax_test/',    # 请求的地址
          type: 'post',		  # 请求的方式
          data: {					# 请求的数据
              name: 'alex',
              age: '73',
              hobby: JSON.stringify(['吃烧饼', '画大饼', '卖烧饼'])
          },
          success: function (res) {     # 正常响应的回调函数
              $('[name="ii3"]').val(res)
          },
          error:function (res) {		 # 错误响应的回调函数
              console.log(res)
          }
      })
      
    4. 上传文件
      $('#b1').click(function () {
          var form_obj = new FormData();
          form_obj.append('f1',$('[name="f1"]')[0].files[0])
      
          $.ajax({
              url:'/upload/',
              type:'post',
              processData:false,   #  不需要处理数据编码格式
              contentType:false,	 #  不需要处理请求头
              data:form_obj,
              success:function (res) {
                  alert(res)
              }
      
          })
      
      })
      
    5. ajax可以提交POST请求的方式:
      1. 页面中使用{% csrf_token %},给POST提交数据中添加csrfmiddlewaretoken的键值对

        $.ajax({
        type:'post',
        data: {
            'csrfmiddlewaretoken': $('[name="csrfmiddlewaretoken"]').val(),
            i1: $('[name="i1"]').val(),
            i2: $('[name="i2"]').val()
        },
        })
        
      2. 添加X-csrftoken的请求头

        $.ajax({
        type:'post',
        headers:{
          'X-csrftoken': $('[name="csrfmiddlewaretoken"]').val(),
        },
        })
        
      3. 写文件

        从cookie中获取值,添加到请求头中。

        必须确保有csrftoken的cookie

        from django.views.decorators.csrf import ensure_csrf_cookie
        
  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/russellyoung/p/10105972.html
Copyright © 2011-2022 走看看