Ajax编程之旅第一站:HTTP请求
作者:sliuqin 来源:2Guy's Blog 时间:2008-08-07 12:55:00
早就想用一个系列的文章来写AJAX,让自己头到尾理一遍,更好的掌握基础知识(昨天的面试受打击了,基础知识很重要).要是写的好,也许也可以帮助到一些想了解AJAX,但是无从下手的同学.
在这里系列中主要会包括:AJAX基础知识,DOM操作,XML操作,等等在学习到一定的知识只会,要分析AJAX框架,目前主要考虑jquery(我以用它好多年啊..呵呵..).最后当然是每次都要加入示例啦.
第一次写系列的文章,现在一开始还不知道怎么组织啊~~,慢慢来吧,相信自己会有质的飞跃.
AJAX编程之旅第一站:HTTP请求
AJAX中最重要的,也是最固定的部分的HTTP请求,令人高兴的是,所有的浏览器都支持用JavaScript动态的来创建HTTP连接.
归根到底,AJAX的目的是异步地向服务器发送和接收数据,至于得到和发送的是什么数据格式,那等下站再讨论,现在最重要的是:建立连接
建立连接
AJAX的关键就是和服务器建立连接,这里我们用最通常的方法:使用xmlhttprequest对象.
web开发中最讨厌的就是浏览器之间的差异,在CSS中,IE6的存在,让无数的网页设计师吃尽了苦头.在JavaScript中,这个苦头我们依然要吃..不过幸好,我感觉没有CSS那么头大.
还是分为IE和其他现代的浏览器,
IE使用ActivexObject来创建连接(这里ActiveX对象的版本根据IE的版本不同而不同.)幸好,IE7对XMLHttpRequest有了直接的支持
剩下的就是其他所有的现代浏览器了.他们直接使用XMLHttpRequest对象
还有另人高兴的,虽然IE和其他浏览器对XMLHttpRequest创建的方式不一样,但是大家创建出来的XMLHttpRequest 支持同一套方法来操作.
下面来创建一个XMLHttpRequest:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript">
if(typeof XMLHttpRequest=='undefined')
{
XMLHttpRequest=function ()
{
return new ActiveXObject(
navigator.userAgent.indexOf("MSIE 5")>=0 ? "Microsoft.XMLHTTP":"Msxml2.XMLHTTP"
);
};
};//end of if;
window.onload=function()
{
var xml=new XMLHttpRequest();
document.write(typeof xml);
}
</script>
</head>
<body>
</body>
</html>
在firebug中可以很好的看到XML对象的所有东西.可以一直找不到IE中类似的工具.
创建好了XMLHttpRequest,但是要怎么使用呢?这还要好好这个文档:http://www.w3.org/TR/XMLHttpRequest/我也会用另外一篇文章,来单独讲解XMLHttpRequest.