轻笑苍穹

导航

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笔记,欢迎指错或补充,且多多益善。

posted on 2017-11-13 17:43  轻笑苍穹  阅读(155)  评论(0编辑  收藏  举报