天天看点

Ajax的简单学习

ajax的核心是 XMLHttpRequest

html引用外部的时候这些要放在最后 好处如下:

1.加快网页加载速度

2.document.getElementById也可以用 不然 放head中则无法使用DOM方法

function loadXMLDoc(){

var xmlhttp;

if(window.XMLHttpRequest){

xmlhttp=new XMLHttpRequest();

}else{

xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);

}

xmlhttp.onreadystatechange=function{

if(xmlhttp.readyState==4&&xmlhttp.status==200){

document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;

}

xmlhttp.open(“GET”,”/try/ajax/ajax_info.txt”,true);

xmlhttp.send();

}

onreadystatechange是一个事件处理函数 他会在服务器给XMLHttpRequest对象送回响应的时候被触发

执行

可以 request.onreadystatechange=function(){

}

也可以request.onreadystatechange=doSomething;

不能加() 加了就是立即调用函数的意思 这里我们是把函数的引用赋值给onreadystatechange属性

responseText属性 是用于保存字符串形式的数据 另一个是responseXML属性 用于保存Content-Type头部中

指定为”text/xml“的数据 可以用DOM方法处理这个对象 这也是XMLHttpRequest中有XML的原因

注意:有些浏览器会限制Ajax请求使用的协议 比如Chrome中 如果用file://协议从自己的硬盘里加载文件

就会报错 翻译过来就是 跨域请求只支持HTTP协议的 错误消息

注意: 脚本在发送XMLHttpRequest请求之后 仍会继续执行 不会等待响应返回

但是ajax是无法做到平稳退化的 就需要 Hijax技术 还在学习ing

继续阅读