基本概念
同步交互
客户端向服务器发起请求,直到服务器端响应的全过程,用户是不可以做其他事情的(等)
典型:网址请求、表单请求,这两种请求都会导致整个页面跳转
执行速度相对较慢,响应完整的HTML网页
异步交互
客户端向服务器发起请求,直到服务器端响应的全过程,用户是可以做其他事情的(不等)
典型:ajax请求,不严格的定义:客户端与服务器端进行交互,而无需刷新当前页面的技术,称之为ajax,局部发生了变化
执行速度相对较快,响应部分的HTML网页
AJAX - Asynchronous JavaScript And XML - 异步的javascript和xml
其实以前我们也见过一个异步技术:定时器,哪怕定时器的代码在耗时也不无所谓,他不会卡住后续代码,目的:做特效
今天我们学一个新的异步技术:ajax,目的:【没有表单的情况下】,也能和服务器端进行沟通 - 前端技术:有没有表单无所谓了
Ajax如何使用:4步
1、创建核心对象xhr
var xhr=new XMLHttpRequest();
2、连接服务器:
xhr.open("GET/POST","随便路由");
3、发送请求消息:
xhr.send("key=value&pwd=value&...");
特殊:
1、如果你是GET请求方式,那么send失效,但是还不能省略必须写为send(null),你必须把你的请求消息放到url?后面
xhr.open("GET","随便路由?key=value&pwd=value&...");
xhr.send(null);
2、Node.js目前不允许使用POST,而且ajax的POST也麻烦 - 不准用
xhr.open("POST","随便路由")
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("随便路由key=value&pwd=value&...")
4、绑定监听状态事件
xhr.onreadystatechange=()=>{
if(xhr.readyState==4&&xhr.status==200){
console.log(xhr.responseText);
}
}