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笔记,欢迎指错或补充,且多多益善。
浙公网安备 33010602011771号