ajax概念: 异步的javascript加上xml,包含5个部分:
1. 基于标准的表现技术, 使用XHTML和csss
2. 动态显示和交互技术, 使用document object module 即 DOM (文档对象模型)
3. 数据交换和操作技术, 使用xml和xslt.
4. 异步数据获取技术, 使用XMLHTTPRequest.
5. 使用javascript将以上技术合并在一起.
表现,结构,行为的分离.
结构: 通过一系列的标记,结构化描述的文本数据.通常我们浏览网站见到的html,xhtml,xml都是结构.
表现:css,描述数据的展现型式.
行为:javascript.
传统的web技术中,html包含了太多的内容,除了表示数据结构的标签外,还包含了<font><b><u>之类的表示性标记.使得页面变得十分庞大,调试起来很烦.web开发得一个重要得观念上的转变就是 html向xhtml转变, xhtml几乎和html拥有一样得标签集合,但是你在使用它的时候 应该根据它的含义而并非它的视觉效果来挑选.
根据w3c官方解释, xhtml是一个用xml语法对html重新阐释的语言.他有几个重要的规则:
1. 必须有正确的DOCTYPE和名字空间空间开始.
2. 使用META内容元素指定内容编码语言.
3. 文档必须是结构良好的,标签的层次必须分明.
4. 元素和属性必须都用小写字母.
5. 非空元素必须正确关闭. 例如<p>abcd</p>等等.
6. 属性的值要加上引号.所有的属性必须有值,例如<option value="1" selected>aa</option>,这是以往的写法,在xhtml中要这样写:<option value="1" selected="selected">aa</option>
7. 空元素也要关闭,例如<br/>
8. 注释的内容中不可以出现--这样的符号.
9. 用< & 来表示文本中的<和&.
xhtml有三种类型的DOCTYPE,
1. <!DOCTYPE html public "-//w3c//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
过渡的dtd,非常宽松的,允许使用html4.0.1的标识.
2. <!DOCTYPE html public "-//w3c//DTD XHTML 1.0 Strict//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
严格要求的DTD,你不能使用任何表现层的标识和属性,例如<br><font>
3. <!DOCTYPE html public "-//w3c//DTD XHTML 1.0 Frameset//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd>
专门针对框架页面设计的DTD,如果你的页面中有框架,请使用这中DTD.
常用的方法,和属性
生成xmlhttprequest:
如果是windows:
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
var MSXML = ['Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
for (var i = 0; i < MSXML.length; i++) {
try {
return new ActiveXObject(MSXML[i]);
} catch (e) {}
}
return null;
};
}
如果是firefox: xmlHttpRequest = new XmlHttpRequest();
http 请求最常用的有两种,POST和GET,但是它一共有7种,分别是:POST,GET,
HEAD,PUT,OPTIONS,DELETE,PUT,TRACE.
xmlHTTP.open方法,有三个参数,第一个 表单提交的方式,"POST",第二个 一个url,"
http://w'w'w.ajaxcn.org",第三个是一个boolean值,如果是true表示异步,false同步.
xmlHTTP.send() 真正发出请求.
一个xmlhttprequest对象有5种状态:
0: 未初始化,对象已经创建但是尚未open
1:已经初始化,调用open方法之后
2:发送数据,调用send方法之后
3: 数据发送中,已经接受部分数据,但没有接受完成.
4: 完成,数据全部接收完成.
xmlhttprequest对象事件,当readystate状态发生改变时处发.xmlhttprequest.onreadystatechange时间,我们只要自己定义一个function,把这个函数句柄赋值给这个属性就可以了.
xmlhttp.status=200表示服务端返回正确结果.
xmlhttprequest从服务端返回数据后,我们有4种方法得到数据:
1. xmlHttp.responseText 将响应信息作为字符串返回.
2.xmlHttp.responseXml 将响应信息作为xmlDocument对象返回.
3.xmlHttp.responseBody 将响应信息作为unsigned byte数组返回.
4.xmlHttp.responseStream将响应信息作为IStream流返回.
需要深入了解只有前2种,后两种几乎不用考虑.
xml dom api
var xmlDom = xmlHttp.responseXml;
xmlDom.documentElement 得到根节点.
xmlDom.documentElement.childNotes得倒一个节点得所有子节点,本例就是得到根节点下得所有子节点.返回得是一个数组,可以用item(0)等来访问数组中的元素了.
tagName,得到一个节点的名称.
text得到一个节点的文本内容.
posted on 2006-08-08 16:02
邓兵野 阅读(807)
评论(0) 编辑 收藏 所属分类:
javascript