第三天 有关cookie和ajax的理解

(一)cookie:是指网站,为了实现一些功能,在用户的机器上存储一些数据。

1)服务器环境本地环境
        domain   域  域名
2)不安全  (因为它存到了本地,用户的机器)
3)大小   4k    条数的限制(最好用一条来存储一个信息)  --珍贵
4)过期时间   
    默认时间 session   --  会话 cookie   --关闭浏览器就消失了。expires  -  设置过期时间   一定要用Data:对象oDate
5)无论你看到的是什么,取出来后都是字符串
    eval();
    new Function('return ' + str)();

(二)封装:

  1)种一个cookie
    setCookie(name,value,iDay)
        if(iDay){
            document.cookie = 'name=value;path=/;expires='+iDay;
        }else{
            document.cookie = 'name=value;path=/';
                   }

2)取cookie
    getCookie(name)
        var arr = split('; ');
        for(arr){
            var arr2 = arr[i].split('=');
            if(arr2[0] == name)
                return arr2[1];
        }
        return '';

3)删除cookie
    removeCookie(name);
        --expires = -10;

注意:取:第一次取的时候,有可能取出来都是空的,取出来后一定要进行判断,如果是你想要的东西,再使用

(三)ajax:无刷新从后台数据 (也可以提交)
Asynchronous Javascript And XML
异步的js和xml -数据格式--已经被json 所取代

  1:注意:
  1)无论服务器是什么,取出来的数据,都是字符串
      eval();
  2)缓存解决方法加随机因子
        t = Math.random();  √
        t = oDate.getTime();
  3)编码:要求所有的文件编码一致,-  utf-8编码
  4)后缀:ajax请求的时候,不区分后缀

2:使用别人的ajax:
  ajax(url,function(){
        //成功回调
    },function(){
        //失败回调
    });

3:回调函数:
        我们调用别的函数,去做一些事情,当事情做完后,你要告诉我 --回调
    我们,只负责回调函数的定义,具体什么时候调用,我们不管
        addWheel(obj,function(bDown){
            //当你确定滚轮方向的时候,告诉我
            //我要做些有用的事
           });
        move(obj,{width..height},{
            complete:function(){
            }
        });

(四)自己写:

1)创建一个ajax对象
    var oAjax = new XMLHttpRequest();
    var oAjax = new ActiveXObject('Microsft.XMLHTTP');
    if(window.XMLHttpRequest)
    *当你访问一个不存在的变量-报错
       当你不访问一个不存在的属性- undefined
2)oAjax.open('GET',url,true);
            a.请求方式
    b.请求地址
    c.是否异步
3)oAjax.send();
4)接收
    oAjax.onreadystatechange = function(){
        oAjax.reasyState == 4  //完成 通信息状态
            oAjax.status>=200 && oAjax.status<300 || oAjax.status == 304
                //304  没有修改
                成功
    };

(五)oAjax.readyState 通信状态,只读的,不能修改(赋值)

    0   UNSEND  ajax对象已经准备完毕,但是还没有打开连接
    1   OPENDED 已经打开连接(建立好连接)
    2   HEADERS-RECEVICED   发送请求完毕,头部信息也接收完毕了
    3   LOADING 下载内容(接收内容)
    4   DONE        操作完毕

(六)http状态码:

      200    OK
      302     Move temporarily   重定向
      304    Not Modified
      403     Forbidden
      404    Not Found
      405     Method Not Allowed 
      414     Request-URI Too Long
      500     Internal Server Error   后台代码写问题
      502     Bad Gateway

(七)ajax的接口文档:

          接口:协议文档,url地址zns_qd_2016
          文档:文件 内部网址接口文档,包括:
              1) 功能说明
              2) 需要的参数
              3) 返回值的说明

(八)ajax交互时,文档中有一个东西不会写:

              t=.... (timer时间)  

(九)注册登录:

      接口地址(格式):
       user.php?act=xxx&user=用户名&pass=密码
      *服务器环境下, 地址
        url,不要用中文
        alert();
       window.alert();  ---   提示信息
       confirm();   --  确认
       ajax改进:

    1)POST(请求)

       //设置请求头
               时间:超时时间
          setTimeout();
          function ajax(url,data,type,time,fnSucc,fnFail)
                            ajax(url,function(){    });
                           ajax({
                                 url:'post.php',
                                success:function(){},
                                error:function(){},
                     data:{},
                    type:'post',
                   time:'1000'
               });

你可能感兴趣的:(第三天 有关cookie和ajax的理解)