• 异步请求


    什么情况下需要使用到异步请求?

    不需要整个页面的全部刷新,仅是需要页面的局部数据刷新即可时(异步请求简称Ajax)

    async:false  //锁定浏览器,使请求同步

    同源策略?

    何为同源:URL由协议、域名、端口和路径组成,如果两个URL协议、域名、端口相同便表示它们同源

    跨域:反之,若协议、端口、域名有任何一个的不同,便为跨域

    浏览器采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本(包含src属性的标签可以加载跨域资源)

    dataType:"jsonp"//使用该数据即可轻松实现跨域访问,type不论为何种请求都是get请求

    AJAX和普通HTTP请求的区别:

    1.AJAX就是浏览器使用XMLHTTPRequest对象发出的HTTP请求

    2.AJAX请求受到浏览器的同源策略限制,存在跨域问题

    3.AJAX发送复杂请求(get,post为简单请求)时,浏览器会预先发出OPTIONS请求预检

    4.AJAX请求头会多出一个x-requested-with参数,值为XMLHttpRequest

    5.AJAX请求不能在控制器中进行跳转(转发/重定向)

    原生的JS实现异步请求:

    jq发送异步请求也是封装了原生的JS代码实现发送(四个步骤)

    1.创建XMLHttpRequest对象
    var xmlHttp=new XMLHttpRequest();
    
    2.调用open方法获取跟服务器的连接
    xmlHttp.open("GET","emp/ASDFSADFS?name=smith,ture");
    三个参数分别为:请求方式,请求路径(可传属性值),ture为异步
    
    3.调用send方法向服务器发出请求
    xmlHttp.send(null);
    //get请求参数为null,post请求可在方法中带请求参数
    
    4.注册一个监听器//不断去监听请求的过程返回的一个状态码
    xmlHttp.onreadystatechange=function(){
      if(xmlHttp.readyState==4&&xmlHttp.status==200){
    //表示响应完毕,xmlHttp.responseText获取服务器的响应内容(文本)
             cbFun(xmlHttp.responseText);
    }
    };
       function  cbFun(data){//回调函数
        alert(data);//弹窗显示内容
    }

    防盗链:

    req.getHeader("referer");(获取来访者地址)

    contains:进行地址判断

    索引的概念:

    是提高查询速度的一种手段(一百多种)

    创建索引基本语法:

    CREATE INDEX 索引名 ON 数据表(字段名);

    使用索引:TABLE ACCESS FULL表示在查询数据的时候使用的是全表扫描的模式

    创建了索引查询的时候就在索引范围内扫描从而提高查询效率(INDEX)

    删除索引:DROP INDEX 索引名

    复合索引:一个索引在多个字段上创建,作用于多个字段

    注意:当使用复合索引的时候如果只要其中一个字段作为判断条件,那么必须使用第一个字段(创建索引时的字段顺序)

    索引才会生效,这就是索引的最左原则(若复合索引的字段都使用到了,且是AND连接条件,字段顺序不影响索引扫描oracle

    mysql则需要和复合索引的字段顺序保持一致)

    使用复合索引的时候如果放到OR查询中会导致索引失效,需要使用UNION ALL代替OR查询

  • 相关阅读:
    django-debug-toolbar的配置以及使用
    Django+telnetlib实现webtelnet
    Centos7 安装 telnet 服务
    Django+paramiko实现webshell
    Zabbix 历史数据存储到 Elasticsearch
    CA和自签证书
    linux加密算法与应用
    LVM拆除pv对应的磁盘
    目录迁移
    添加一个swap设备
  • 原文地址:https://www.cnblogs.com/yhgn/p/10799779.html
Copyright © 2020-2023  润新知