Ajax(Asynchronous JavaScript + XML)使得浏览器可以额外地向服务器请求数据而不用重新刷新页面,ajax从服务器或许到数据后,可用javascript操作DOM以改变页面。
定义XMLHttpRequest
实现ajax的核心是XMLHttpRequest对象,其使用主要是open()、send()等函数。
实现异步通信一班需要以下四步:
第一步:定义对象
第二步:调用,使用open函数打开
第三步:注册事件处理函数,准备接受响应并处理数据,并进行处理,然后调用对象,用send函数发送请求
var xhr = new XMLHttpRequest();
1.为了兼容性,事件回调需在open之前定义
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status >= 200 && xhr.status < 300 | xhr.status == 304) {
alert(xhr.responseText);
} else {
alert("Request was failed.");
}
}
}
3.以get的方式请求example.txt,这里用相对路径,相对当前页面;最后一个参数代表是否异步。调用open之后,请求并没有发送,只是启动一个请求以备发送。
xhr.open("get", "example.txt", true);
4.请求主体无数据。调用send之后,请求就会被发送出去。
xhr.send(null);
定义XMLHttpRequest例子:
调用createXMLHTTPObject()方法返回XMLHttpRequest对象,代码如下:
<script>
function createHTTPObject(){
var XMLHttpFatories=[//兼容不同浏览器版本函数组
function(){return new XMLHttpRequest()},
function(){return ne