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

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐