最近学习了ajax, 先对自己的学习做一个记录
ajax的主要作用就是: (1)实现页面的无刷新显示
(2)实现了异步机制 (3)转移一部分任务给客户端执行
其中核心技术为XMLHttpRequest对象。先说一下XMLHttpRequest使用的基本过程:
a、 创建XMLHttpRequest对象: 有三种方式创建。 通用创建方式代码如下:
<script laguage="javascript">
function newXMLHttpRequest(){
var request = false;
//判断是否支持XMLHttpRequest类
if(window.XMLHttpRequest){
request = new XMLHttpRequest(); //尝试以非Microsoft浏览器的方式创建XMLHttpRequest
}else if(window.ActiveXObject){
//经由Microsoft ActiveX实例化XMLHttpRequest对象
try{
//在较新版本的IE中创建XMLHttpRequest
request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e1){
try{
//在较老版本的IE中创建XMLHttpRequest
retuest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){//创建XMLHttpRequest对象失败}
}
return request;
}
</script>
b、 组装HTTP请求的URL
也即调用open("post/get","请求url地址","true/false",[用户名],[口令]);//true为异步,false为同步, 默认为true
最后两个参数为可选,无默认值,一般用作身份验证。
还要注意的是: 这里url有所限制, ajax采用一种沙箱安全模型,因此XMLHttpRequest对象只能向所在的同一个域发送请求,url也就只能是同一域中的url!
c、 设置回调函数(也即处理服务器返回的数据),通用方式如下: function getReadtStateHandler(request, resoponseXmlHander){//判断就绪状态是否为4 //判断http状态吗是否为200 //调用处理服务器的响应函数, 可以以两种方式响应: responseText和responseXML
}
d、 调用send()方法将客户端的数据发送到服务端