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.
猜你喜欢
- 在ASP.NET中,如何连接 SQLServer数据库?连接数据库:<%@ Import Namespace=&q
- 昨天同事无意又谈起了这个老话题,美工和设计师(视觉)有什么不同?以文字排版设计为例,列了下面两个图来说明,可能会有一些启发, 第一个图应该算
- 目录:分析和设计组件编码实现和算法用 Ant 构建组件测试 JavaScript 组件本期,我们要讨论的话题是 JavaScript 的测试
- 版本 0.9来自 http://onewww.net说明:当焦点不在表格内的input时,回车键复制最后一行,delete删除键最后一行选择
- 这个程序将记数器的数字放在ACCESS数据库中,当然你也能用你希望其它的ODBC数据源.这个程序从URL中读取记数信息.如下:< IM
- 今天我和中国著名画家"渔人"谈了一个关于"怎样才能设计好"的问题,他给我说了一句话,得益不浅,那句话
- 本文说明向外扩展数据库系统的两个选项,从而实现更高的可扩展性:水平数据划分和垂直数据划分当我提到向外扩展数据库系统时,我实际上只是讨论对数据
- 用两个文件.GLOBAL.ASA和online.asp下面分别给出两个文件的源代码.呵呵,我也是菜鸟,大家加油哟!<SCR
- 一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下: 1、在Oracle sequence首先创建sequen
- 互联网上的资源多不胜数,无论我们搜索资料还是查阅新闻,或者是在网上淘物等等,肯定没少见分页!分页模式和表现方法也是各有千秋。我们来看看下面这
- 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- 工作中,网页设计师经常会遇见这些状况:时间这么短又要出彩、又是要大气要有气氛、风格不明确很难把握、栏目这么多页面又这么长……突然觉得束手无策
- 在Google Chrome浏览器出来之前,我一直使用FireFox,因为FireFox的插件非常丰富,更因为FireFox有强大的Fire
- 物质世界客观存在,而人的“视觉成像”是对当前世界的“唯心”重建。这种重建基于个人“经验”、“感知”和“集体意识”。最初科学家认为人类通过视觉
- asp使用session来防止表单多次被提交的方法。formtest.asp' 表单文件<%Randomize&nb
- 看看这个指令在ASP程序中的应用,有[delete from 歌手 where 艺名='cs2000'],删除艺名为cs20
- 为了防止采集,我试过各种方法,绝大多数方法是“ * 剑”---防止了采集,也影响了搜索引擎收录,实在不爽!一天本人忽发奇想:何不
- 元数据简介元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据的信息”,日常生活中的图例、图书馆
- <script language="javascript"> functio