cookie的封装以及ajax了解
文章目录一·cookie的删除二·cookie函数的封装三:同步代码和异步代码四·AJAX4·1:定义:4·2:优点:4·3:同步与异步4·4步骤:4·5:相关属性以及方法4·6:ajax创建的兼容写法一·cookie的删除cookie没有正面删除的方式,cookie的删除方式都是侧面的cookie的删除强调的是拥有长声明周期的cookie(不是会话级别的)a.将key对应的value设置为’’b
文章目录
一·cookie的删除
cookie没有正面删除的方式,cookie的删除方式都是侧面的
cookie的删除强调的是拥有长声明周期的cookie(不是会话级别的)
a.将key对应的value设置为’’
b.将expires设置为-1
实际开发的删除中:是两种方法一起混合写的
//cookie的删除
let date=new Date();
date=date.setDate(date.getDate()+10);
// document.cookie="name=y inhe;expires="+date;
// 删除方法一:将对应的values值为空
document.cookie="name='';expires="+date;
//删除方法二:经对应的时间修改为-1
document.cookie="name=yinhe;expirse=-1"
//实际的开发中
document.cookie="name='';exrpirse=-1";
二·cookie函数的封装
//获取cookie
function getCookie(key){
let strCookie = document.cookie;
let arrCookie = strCookie.split("; ");
for(let i=0; i<arrCookie.length; i++){
let item = arrCookie[i].split("=");
if(item[0] == key){
return item[1];
}
}
return '';
}
//设置cookie
function setCookie(key,value,day){
if(day>0){
let date = new Date();
date.setDate(date.getDate() + day);
document.cookie = key+"="+value+";expires="+date;
}else if(day == -1){
document.cookie = key+"="+value+";expirse=-1";
}
else{
document.cookie = key+"="+value;
}
}
//删除cookie
function deleteCookie(key){
setCookie(key,'',-1);
}
三:同步代码和异步代码
3·1:同步与异步的区别:异步代码都是要消耗时间的
3·2:异步代码的分类:
- a.请求的发送 ajax
- b.定时器
- c.事件体(注意:一定是事件体的部分才是异步)
【注意】:当同步代码和异步代码同时存在的时候,先指向的永远都是同步代码
四·AJAX
4·1:定义:
- (Asynchronous JavaScript And XML)是指一种创建异步交互式网页应用的网页开发技术。
- 可以在不重新加载整个网页的情况下,对网页的某部分进行更新(异步更新)
4·2:优点:
- 对用户的操作即时响应
- 在不中断用户操作的情况下与Web服务器进行通信
- 通过局部更新页面降低网络流量,提高网络的使用效率
- 更灵敏的响应用户访问,实现近似于桌面应用程序的交互效果
4·3:同步与异步
-
同步:主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;
-
异步:不进入主线程、而进入"任务队列"的任务,只有等主线程任务执行完毕,开始通知主线程,请求执行任务,该任务才会进入主线程执行。
4·4步骤:
-
创建一个XMLhttpRequest对象
(浏览器只负责显示,而完成请求的事情由XMLHttpRequest对象负责)
-
调用open方法(设置请求的参数)
-
调用send方法(发送请求)
-
异步操作(返回你要的信息)
let xhr= new XMLHttpRequest(); //xhr.open("拨号的姿势","服务器地址","是否异步"); xhr.open("GET","4ajax.php",true); xhr.send(); xhr.onreadystatechange=function(){ if(xhr.status==200&&xhr.readyState==4){ console.log(xhr.responseText); } }
4·5:相关属性以及方法
-
发送数据的详细信息(一般第三参数都是true)
xhr.open(“get/post”,“服务器地址”,是否异步); -
数据的发送(get方式无惨,post方式有参)
xhr.send(); -
xhr.onreadystatechange:随着xhr.readyState改变而触发的事件
-
readyState:xhr的状态码
0:new了一个XMLHttpRequest对象后 1:xhr调用了open方法
2:数据发送给服务器
3:数据发送到了服务器
4:服务器将接收的数据进行解析,准备返回响应数据给浏览器
【只有2,3,4状态码会触发readystatechange事件】
4·6:ajax创建的兼容写法
if (window.ActiveXObject) {
//ie
xhr = new ActiveXObject("Microsoft.XMLHttp");
} else {
//非ie
xhr = new XMLHttpRequest();
}
jax创建的兼容写法
if (window.ActiveXObject) {
//ie
xhr = new ActiveXObject("Microsoft.XMLHttp");
} else {
//非ie
xhr = new XMLHttpRequest();
}
更多推荐
所有评论(0)