Ajax
AJAX 是 异步 JavaScript 和 XML。英文全称:Asynchronous Javascript And XML。
是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
xml: 可扩展的标记语言。可以认为HTML是XML的子集。
xml 主要用来传输数据的
html 主要用来渲染数据。
ajax的两个主要特点(与传统方式相比):
a. 不需要重新加载整个网页,更改局部网页内容。即无刷新,用户体验好。
b. 异步加载数据,用户不用等待数据加载过程。用户体验好。
2. 什么是异步和同步?
同步:一句代码不执行完,下一句代码不能执行,JS语句顺序执行的过程就是同步。同步会造成阻塞代码。特别是执行数据量大的业务逻辑时,用户体验不好。
什么是阻塞和非阻塞?
异步:代码的执行没有顺序,代码并行执行,哪句代码执行的时间短,哪句代码先执行完,异步不会造成阻塞代码。用户体验好。而AJAX就是一种异步的操作。
同步任务:顺序执行,会阻塞代码的执行
异步任务:并行,不会阻塞代码的执行
先把同步任务放在任务队列中执行,执行之后,再将异步任务放在任务队列中执行
异步任务晚于同步执行,,任务定时器属于异步任务
Ajax发送请求
1.创建请求对象
var xhr = new XMLHttpRequest()
2.设置请求方式 请求路径 请求参数
xhr.open('get',`http://192.168.211.130:8080/register?
username=${uname.value}&password=${psw.value}`)
3.发送请求 xhr.send()
4.监听onreadystatechange
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
//获取响应的数据
var data = JSON.parse(xhr.responseText);
console.log(data);}
Ajax发送请求的时候get 和post的区别
(1)运行速度:get请求简单,运行速度也更快(存在缓存);
(2)缓存:get存在缓存(优:提升速度,缺:不能及时获取最新数据)post没有缓存;
(3)数据储量:get有数据量的限制,post则没有限制
(4)数据安全:发送包含未知字符的用户输入时,post比get 更稳定也更可靠;