















































































































































































var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
xmlHttp.open("POST|GET|PUT",URL,"TRUE|FLASE",USERNAME,PASSWORD);
xmlHttp.onreadyStatechange=callback;
xmlHttp.send(params);
void setRequestHeader(string header, string value)
string getAllResponseHeaders():它返回一个串,其中包含HTTP请求的所有响应首部,首部包括Content-Length、Date和URI。
string getResponseHeader(string header):有一个参数表示你希望得到的指定首部值,并且把这个值作为串返回。
表2-2 标准XMLHttpRequest属性
属 性 描 述
onreadystatechange 每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数
readyState 请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
responseText 服务器的响应,表示为一个串
responseXML 服务器的响应,表示为XML。这个对象可以解析为一个DOM对象
status 服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等)
statusText HTTP状态码的相应文本(OK或Not Found(未找到)等等)
if(xmlHttp.readyState==4){
var active=new ActiveXObject("Microsoft.XMLDOM");
var response=xmlHttp.responseText;
active.async = false;
active.load(response);
}
------------------------------------------------------------------------------
表3-1 用于处理XML文档的DOM元素属性
属性名 描述
childNodes 返回当前元素所有子元素的数组
firstChild 返回当前元素的第一个下级子元素
lastChild 返回当前元素的最后一个子元素
nextSibling 返回紧跟在当前元素后面的元素
nodeValue 指定表示元素值的读/写属性
parentNode 返回元素的父节点
previousSibling 返回紧邻当前元素之前的元素
-----------------------------------------------------------------------
表3-2 用于遍历XML文档的DOM元素方法
方法 描述
getElementById(id) (document) 获取有指定惟一ID属性值文档中的元素
getElementsByTagName(name) 返回当前元素中有指定标记名的子元素的数组
hasChildNodes() 返回一个布尔值,指示元素是否有子元素
getAttribute(name) 返回元素的属性值,属性由name指定
-----------------------------------------------------------------------------
表3-3 动态创建内容时所用的W3C DOM属性和方法
属性/方法
描述
document.createElement(tagName)
文档对象上的createElement方法可以创建由tagName指定的元素。如果以串div作为方法参数,就会生成一个div元素
document.createTextNode(text)
文档对象的createTextNode方法会创建一个包含静态文本的节点
<element>.appendChild(childNode)
appendChild方法将指定的节点增加到当前元素的子节点列表(作为一个新的子节点)。例如,可以增加一个option元素,作为select元素的子节点
<element>.getAttribute(name)
<element>.setAttribute(name, value)
这些方法分别获得和设置元素中name属性的值
<element>.insertBefore(newNode, targetNode)
这个方法将节点newNode作为当前元素的子节点插到targetNode元素前面
<element>.removeAttribute(name)
这个方法从元素中删除属性name
<element>.removeChild(childNode)
这个方法从元素中删除子元素childNode
<element>.replaceChild(newNode, oldNode)
这个方法将节点oldNode替换为节点newNode
<element>.hasChildnodes()
这个方法返回一个布尔值,指示元素是否有子元素
少数其他几种方法是专门用于文本节点的。这些方法用于增加或分解节点中的数据:
appendData(text) 将提供的文本追加到文本节点的已有内容之后。
insertData(position, text) 允许在文本节点的中间插入数据。在指定的位置插入提供的文本。
replaceData(position, length, text) 从指定位置开始删除指定长度的字符,用提供的文本代替删除的文本。
----------------------------------------------------------------------------------------------------------
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");