一、同步与异步
- 同步就是按顺序依次执行代码块(洗菜-切菜-炒菜)
- 异步:同时执行,也叫并发。(烧水-切菜-听音乐)
二、AJAX
1,ajax:AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术 前端通过与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
2. ajax的优势
3. 用户体验好,快。
可以在不中断操作的时候与web服务器进行通信
通过局部更新页面降低网络流量,提高网络的使用效率
4. ajax的核心:xmlHttpRequest,和服务器交互主要依赖该对象。
5. XMLHttpRequest的理解:
浏览器负责显示页面和发送请求接收响应(和后端交互)。两件事情同一时刻只能做一件,没法同时进行。这样会让用户感觉不好(友好性不好),比如:当浏览器发送请求时,就没法显示内容,这时浏览器中是空白显示,给用户的感觉不好。
使用XMLHttpRequest对象,可以把浏览器解脱出来,让浏览器只负责显示,而完成和后端交互的事情由XMLHttpRequest对象负责。这样两者各负其责,效率更高,效果更好,用户体验很好,用户永远不会看到浏览器空白。
XMLHttpRequest 的属性
1.readyState:五步骤
0 未初始化,对象创建完毕就是0;
1 正在加载,准备工作,调用open方法后就是1;
2 加载完毕 表示到了后端
3 交互 服务器在处理
4 服务器处理完毕。表示响应完成。但是不能保证结果是否正确。
2.status:常见的四种状态 http的状态码
200:表示响应正确
500:表示服务器端出错,拿不到应有的结果
404:表示你请求的资源不存在
6.ajax的编写步骤
a 创建 XMLHttpRequest对象
b调用open设置一个请求参数
c用onreadystatechange设置一个回调函数
d用send方法发送请求
e用xhr.responseText或者xhr.responseXML接受响应
三、get和post区别
-
get 和post都是用来客户端向服务器端传输数据的两种方式。
-
不同
get:速度快 ,传输数据量小,安全性不好
post:速度慢 ,传输数据量大,安全性好2、ajax使用中的区别:
-
1)get请求参数,直接跟在url后面,用问号隔开。多个键值对之间用&分割。
如:
xhr.open("get", "http://localhost/a.php?name=zsf&age=12", true);
2)、post请求的参数放在send函数里(是send函数的参数),也是键值对的方式(如:name=zsf&age=12)。并且还要设置请求头
如:
```js
xhr.open("post", "http://localhost/a.php", true);
xhr.setRequestHeader(“content-type”,”application/x-www-form-urlencoded”)
xhr.send(“name=zsf&age=12”);