XMLHttpRequest对象
XMLHttpRequest对象由JavaScript创建并
使用,客户端可以只从服务器端获取需要
的信息,通过与DOM和CSS的结合,可以
实现局部刷新,同时还可以通过
XMLHttpRequest对象异步提交信息,将输
入的数据在后台提交到服务器而无需刷新
页面。
创建XMLHttpRequest对象
XMLHttpRequest对象不是一个国际标准,在不同浏览器中有不同的实
现。要实现能够跨浏览器运行的Ajax应用,必须考虑所有使用的场合
。
创建XMLHttpRequest对象
//用于创建XMLHttpRequest对象
function createXmlHttp() {
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器
支持的创建方式
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持
的创建方式
}
}
使用open方法创建一个请求
open方法创建一个请求,并准备向服务器发送。
open(method,url,asynchronous);
method:指定请求的类型,一般为get或post
(post请求要设置POST请求体类型xmlHttp.setRequestHeader("Content-
type","application/x-www-form-urlencoded");)
url:指定请求的地址,可以是绝对地址或相对地址,可以附带查询字符串。
asynchronous:可选参数,表示请求是同步还是异步,异步请求为true,同步请
求为false,默认为true
例如:xmlHttp.open("GET", "read_faq.php?faqId=" +
faqId, true);
//创建一个请求,用get方法请求相对地址为read_faq.php?faqId=" +
faqId的网页。
使用send方法发送一个请求
在创建一个请求后,可以用send方法向服务器
发送这个请求
send(body);
body:表示要向服务器发送的数据,格式为查
询字符串的形式。
var body=“userName=tom&sex=male”;
注:body参数是必须的,如果不发送任何数据
,用xmlhttp.send(null)