[size=medium]创建XMLHttpRequest对象的一个实例:
Js代码如下所示:
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
下面是一些标准XMLHttpRequest操作:
方法:
abort()方法 :停止当前请求;
getAllResponseHeaders()方法 :把HTTP请求的所有响应首部作为键/值对返回;
getResponseHeader("header")方法 :返回指定首部的串值;
open("method","url")方法 :建立对服务器的调用.Method参数可以是GET.POST.或PUT. url参数可以是相对URL或绝对URL.这个方法包括3个可选的参数.
send(content)方法 :向服务器发送请求.
setRequestHeader("header","value")方法:把指定首部设置为所提供的值,在设置任何首部之前都必须先调用open();
属性:
onreadystatechange :每个状态的改变都会触发这个事件处理器,通常会调用一个JavaScript函数.
readyState :请求的状态.有5个可取值:0=未初始化,1=正在加载,2=已经加载,3=交互中,4=完成.
responseText :服务器的响应,表示为一个串.
responseXML :服务器的响应,表示为XML.这个对象可以解析为DOM对象.
status :服务器的HTTP状态码(200对应为OK,404对应NotFound(未找到),等等)
statusText :Http状态码的相应文本.(OK或NotFound等等).
注意:
Ajax中,XMLHttpRequest对象的status属性一般用来返回服务器的HTTP状态码。status为200表示”成功”,status为404代表”页面未找到”。很多书上都是这样写的,一点也不错。
但是,有时候,特别是刚开始学Ajax的时候,可能会将代码直接在本地运行。这样就出现问题了。如果在本地运行(如:D:\\ajax\\ helloworld.htm),那么status属性不管是在”成功”还是”页面未找到”的情况下,都返回的是0,而不是200和404。这个时候如果 还用if(xmlHttp.status==200)来判断运行,则会毫无结果。如果要在本地测试,最好写成if(xmlHttp.status== 200 || xmlHttp.status==0)的形式来判断.而很文章(Ajax基础教程)里都写的是从服务器返回状态.[/size]
Js代码如下所示:
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
下面是一些标准XMLHttpRequest操作:
方法:
abort()方法 :停止当前请求;
getAllResponseHeaders()方法 :把HTTP请求的所有响应首部作为键/值对返回;
getResponseHeader("header")方法 :返回指定首部的串值;
open("method","url")方法 :建立对服务器的调用.Method参数可以是GET.POST.或PUT. url参数可以是相对URL或绝对URL.这个方法包括3个可选的参数.
send(content)方法 :向服务器发送请求.
setRequestHeader("header","value")方法:把指定首部设置为所提供的值,在设置任何首部之前都必须先调用open();
属性:
onreadystatechange :每个状态的改变都会触发这个事件处理器,通常会调用一个JavaScript函数.
readyState :请求的状态.有5个可取值:0=未初始化,1=正在加载,2=已经加载,3=交互中,4=完成.
responseText :服务器的响应,表示为一个串.
responseXML :服务器的响应,表示为XML.这个对象可以解析为DOM对象.
status :服务器的HTTP状态码(200对应为OK,404对应NotFound(未找到),等等)
statusText :Http状态码的相应文本.(OK或NotFound等等).
注意:
Ajax中,XMLHttpRequest对象的status属性一般用来返回服务器的HTTP状态码。status为200表示”成功”,status为404代表”页面未找到”。很多书上都是这样写的,一点也不错。
但是,有时候,特别是刚开始学Ajax的时候,可能会将代码直接在本地运行。这样就出现问题了。如果在本地运行(如:D:\\ajax\\ helloworld.htm),那么status属性不管是在”成功”还是”页面未找到”的情况下,都返回的是0,而不是200和404。这个时候如果 还用if(xmlHttp.status==200)来判断运行,则会毫无结果。如果要在本地测试,最好写成if(xmlHttp.status== 200 || xmlHttp.status==0)的形式来判断.而很文章(Ajax基础教程)里都写的是从服务器返回状态.[/size]