(一)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'
});