AJAX-1

111 阅读1分钟

1、概念:

同步交互:客户端向服务器端发送请求,直到服务器端进行响应的全过程,用户是不能做其他事情的(等)
    典型:网址请求、表单请求 - 都是属于同步交互

异步交互:客户端向服务器端发送请求,直到服务器端进行响应的全过程,用户是可以做其他事情的(不等)
    典型:ajax请求

2、ajax:asynchronous javascript and xml:直译:异步的javascript和xml

不严格的定义:页面不会完全的刷新,只会导致局部页面发生改变
其实我们很早之前就已经见过一个异步技术了:
	1、定时器 - 定时器里面的内容再耗时也不会卡主后续代码 - 做特效
	2、ajax - 目的:在不刷新页面的情况下也可以和服务器端进行交互沟通,【可以将服务器端的数据放到前端】

3、如何使用:4个固定步骤

1、创建ajax的核心对象XMLHttpRequest - 简称XHR对象
	var xhr=new XMLHttpRequest();

2、建立和服务器端的连接
	xhr.open("GET/POST","xx.php");

3、向服务器发送请求
	xhr.send("key=value&key=value&...");
	特殊:
	1、如果是GET请求,send方法会失效,但是还不能省略不写,必须写为xhr.send(null),请求消息放到url?后面
		xhr.open("GET","xx.php?key=value&...");
		xhr.send(null);

	2、如果是POST请求,send方法可用,但是需要在之前设置请求头部
		xhr.open("POST","xx.php");
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xhr.send("key=value&...");

4、设置状态事件监听
	xhr.onreadystatechange=()=>{
		if(xhr.readyState==4&&xhr.status==200){
			xhr.responseText;//response:响应。接收到服务器的响应:php放在页面上的一切东西 - 难在拿到东西你要干什么
		}
	}

AJAX-2 - 掘金 (juejin.cn)