您的位置 >>> 星想互联 >>> 课堂教学 >>> 试卷成绩
ajax入门
点击数:2193  发布时间2020-03-23 17:08:53

Ajax 全称是 asynchronous javascript and xml,并不是新的编程语言,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,从而创建快速动态网页的技术。


l Ajax过程

- 创建xhrRequest对象,也就是创建一个异步调用对象

- 创建一个新的HTTP请求,并指定其请求的方法、URL及验证信息

- 设置响应 HTTP 请求状态变化的函数

- 发送 HTTP 请求

- 获取异步调用返回的数据

- 使用 JavaScript DOM 实现局部刷新


l 创建xhrRequest 对象

xhrRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

在使用ajax之前 ,首先要通过xhrRequest构造函数创建ajax对象

创建 xhrRequest 对象的语法:

xhr=new xhrRequest();


老版本的 Internet Explorer IE5 IE6)使用 ActiveX 对象:

xhr=new ActiveXObject("Microsoft.xhr");


l Ajax向服务器发送请求:

Ajax对象创建完成后,就可以向服务器发送请求,我们使用 xhrRequest 对象的 open() send() 方法:

GET 请求:

xhr.open("GET","show.php?fname=Bill&lname=Gates",true);

xhr.send();


POST 请求:

xhr.open("POST","show.php",true);

xhr.send();


POST 表单请求:

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:

xhr.open("POST","show.php",true);

xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xhr.send("fname=Bill&lname=Gates");


l 处理务器返回的信息:

Ajax向服务器发送请求后,会等待服务器返回响应信息,然后对响应结果进行处理,下面将对Ajax如何处理服务器返回的信息进行详细分析:

① readyState属性

readyState属性用于获取当前Ajax状态,从 0 4有五种形式。

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

3: 请求处理中

4: 请求已完成,且响应已就绪


② onreadystatechange 事件

onreadystatechange 事件用于感知readyState属性状态的改变,每当 readyState 属性改变时,就会调用该函数。下面是一个例子:



③ status属性

status属性用于返回当前请求的http状态码,值为数值类型,如,当请求 成功时,状态码为200;


④ 服务器响应

当请求成功且数据接收完成时,可使用Ajax对象提供的 responseText responseXML 属性得到来自服 务器的响应。如:

document.getElementById("myDiv").innerHTML=xhr.responseText;


【案例】AJAX请求

下面是一个完整的AJAX请求的案例:

<script>

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function() {


        }

    };

    xhr.open('GET', 'show.php');

    xhr.send();

</script>


来源:咸宁网站建设
【上一篇】ajax请求头设置
【下一篇】laravel 服务容器的用法