AJAX简单理解
简单梳理下ajax的理解。
步骤:
1、创建XMLHttpRequest对象,var XML=new XMLHttpRequest();(IE5/IE6创建ActiveXobject)。
2、发送请求,设置请求的数据用open(method,url,async),发送设置好的请求用send(string)。
method有两种方法GET和POST,url是请求的文件在服务器的位置,async是异步和同步(对应值是true和false);
稍微讲讲异步和同步的理解:这个异步和同步是针对请求来说的(感觉与现实理解的异步和同步是相反的)。异步是假如2个请求同时发生时,前一个请求成功后服务器返回数据的过程,后面的就可发送请求;同步是假如2个请求同时发生时,并不能同时发送请求,要排队等前一个请求成功并返回成功后,第二个请求才可执行。
3、绑定事件,onreadystatechange,readyState和status是XMLHttpRequest对象的三个重要属性。onreadystatechange事件:每当readyState属性改变时,就会调用这个函数。readyState存有五种XMLHttpRequest的状态。
从0到4发生变化:
0 - (请求未初始化)还没有调用send()方法
1 - (服务器连接已建立)已调用send()方法,正在发送请求
2 - (请求已接收)send()方法执行完成,已经接收到全部响应内容
3 - (请求处理中)正在解析响应内容
4 - (请求已完成)响应内容解析完成,可以在客户端调用了
status是XMLHttpRequest请求的http状态码,常用状态码 200:“请求响应成功”,404:“未找到页面”等。
if (ajaxObj.readyState==4&&ajaxObj.status==200) 如果能够进到这个判断,就说明数据完美的回来了,并且请求的页面是存在的。
下面是简单的一段实例:
document.querySelector('#getInfo').onclick = function(event) { // 1.创建 var ajax = new XMLHttpRequest(); // 2设置 ajax.open('get', '/01.Ajax_get.php'); // 2.发送 ajax.send(); // 3.状态事件 ajax.onreadystatechange = function() { if (ajax.readyState == 4 && ajax.status == 200) { // 4.使用返回的数据 修改页面的内容 // responseText 返回的就是一个 字符串 // 我们 在ajax 中 如果 是通过 ajax.responseText 获取到的 统统都是字符串 console.log(ajax.responseText); } } }
个人简单的记录ajax笔记,欢迎指错或补充,且多多益善。