1、概念: 同步交互:用户向服务器端发起请求,直到服务器端进行响应的全过程,用户是不可以做其他事情的(等) 典型:网址提交、表单提交 - 都是属于同步交互
异步交互:用户向服务器端发起请求,直到服务器端进行响应的全过程,用户是可以做其他事情的(不等)
典型:ajax请求
*****Ajax:Asynchronous JavaScript And XML - 异步的JavaScript和XML
不严格的定义:页面不完全刷新,只会导致页面局部发生变化的技术
其实我们早就见过异步技术/代码了:
1、定时器 - 做特效
2、Node操作mongo的增删改查 - 后端交互数据库的
3、ajax - 目的:在不刷新页面的情况下和服务器端进行交互 - 可以将服务器端的数据放到前端(比较验证,数据渲染)
2、如何使用:固定步骤4步: 1、创建ajax核心对象: var xhr=new XMLHttpRequest();
2、建立和 服务器 的连接
xhr.open("GET/POST","路由");
3、向服务器端发送请求消息:
xhr.send();//但是此方法很特殊
特殊:
1、GET:send方法会失效,但是还不能省略,必须写为:
xhr.open("GET","路由?name=value&...");
xhr.send(null);
2、POST:send方法可用,必须写为:- 暂时不用
xhr.open("POST","路由");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("name=value&...");
4、绑定状态监听事件
xhr.onreadystatechange=()=>{
if(xhr.readyState==4&&xhr.status==200){
xhr.responseText; - 拿去到后端给我们的东西,难就难在这个点,你拿到了要干什么?
}
}