zoukankan      html  css  js  c++  java
  • AJAX 操作

    前言:JSON使用JS语法来描述数据对象,JSON独立于语言和平台

    json的js语法,json.stringfy()把其他数据格式转换为json字符串,json.parse()把json格式字符串转换为原来数据格式。AJAX

    合格的json对象,

    { name: "张三", 'age': 32 } // 属性名必须使用双引号
    [32, 64, 128, 0xFFF] // 不能使用十六进制值
    { "name": "张三", "age": undefined } // 不能使用undefined
    { "name": "张三",
    "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
    "getName": function() {return this.name;} // 不能使用函数和日期对象
    }

    AJAX:翻译成中文就是异步的js和XML,它不是新的编程语言,是一种使用现有标准的新方法

    最大优点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分,用户感受不到请求和相应,

    同步交互:一个请求有一个响应后再发第二个请求

    异步交互:不需要响应,就可以直接发请求

    常用格式:

     $('#b1').on("click",function(){

      $.ajax({

      url:"/ajax_add/",

      type:'GET' , 提交方式

      data:{"i1" : $("#i1").val() , 'i2' : $(‘#i2’).val()   },   要发送给后台的数据

      success: function(data) {                 成功得到响应时从后台得到的数据

      $('#i3').val(data);               

    }

    })

    })

    后台回复:

    return  JsonResponese(ret)

    常见的应用场景就是搜索引擎根据用户输入的关键字,自动给予提示

    还有就是注册时的查重

    AJAX的优缺点:

    1.异步发送请求

    2 无须刷新整个页面

    3 刷新部分内容,性能高

    缺点;后台压力大,请求可能太多

    data 参数中的键值对,如果值不是字符串,需要转换成json格式字符串

    AJAX请求设置csrf_token

    方式一:

    通过隐藏的input标签中的值,放在data中发送。

    "csrfmiddlewaretoken": $("[name = 'csrfmiddlewaretoken']").val()

    方式二:

    通过获取返回的cookie中的字符串,放置在请求头中发送

    方式三:

    可以使用$.ajaxSetup()方法为ajax请求统一设置。

    AJAX上传文件 

        $("#b1").click(function () {
    // 先生成一个表单对象
    var formData = new FormData();
    // 向form表单对象添加键值对数据
    formData.append("f1", $("#i1")[0].files[0]);
    formData.append("name", "张曌");
    $.ajax({
    url: "/upload/",
    type: "POST",
    processData: false, // 告诉jQuery不要去处理发送的数据
    contentType: false, // 告诉jQuery不要去设置Content-Type请求头
    data: formData,
    success:function (data) {
    console.log(data)
    }
    })
    });

    django 内置的序列化 serializers:

    def books_json(request):

      book_list=models.Book.objects.all()[0:10]

      from django.core import serializers

      ret=serializers.serialize('json',book_list)

      return HttpResponse(ret)












































  • 相关阅读:
    PHP如何学习?
    PHP compact() 函数
    Laravel中resource方法
    npm run watch-poll 监控css、js 文件更新
    MYSQL 的optimize怎么用
    出现“Windows资源管理器已停止工作”错误
    移动硬盘文件或目录损坏且无法读取怎么解决
    Linux下iptables 禁止端口和开放端口
    Linux VSFTP服务器详细配置
    分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
  • 原文地址:https://www.cnblogs.com/zhaoweihang/p/9233909.html
Copyright © 2011-2022 走看看