QUOTE:
原帖由 bigfrogwxl 于 2006-7-20 09:12 AM 发表
它说是最简单的,可我头还是看大了,转来转去,倒
可能是你没有静下心来,好好看
它的主要内容都在方法
runAJAX()里面
在这里,判断xmlHttp 对像是对否成功建立
如果成功,就调用createURLString(urlstring);方法来构建参数变量
然后根据mothed的不同,调用xmlHttp.open()
再设定this.xmlhttp.onreadystatechange改变状态时要执行的东西
最后this.xmlhttp.send(this.URLString);
一般ajax的运用都是
1。创建一个xmlhttp的对像
//定义全局变量
var xmlHttp;
//创建对像的方法
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
2。定义一个方法或是事件
如
function sendPostRequest()
{
//创建一个xmlhttp的对像
createXMLHttpRequest()
var key=document.getElementById("key").value;
var type=document.getElementById("type").value;
var url = "data_error.php";
//定义一些参数
var queryString = "key" + "=" + key+"&"+"type"+"="+type;
//向服务端发送请求
xmlHttp.open("post", url, true);
//定义处理状态变化的事件的方法为function showData
xmlHttp.onreadystatechange = showData;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");//如果open的method是get 这句可以不要,这个是针对post的
xmlHttp.send(queryString);//如果是open的方法是get 这里可以写成xmlHttp.send(null);
}
3。处理状态变化的事件
function showData()
{
var msg=document.getElementById("status");
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
msg.innerHTML = xmlHttp.responseText;
}
}
else
{
switch(xmlHttp.readyState)
{
case 0:
msg.innerHTML="未初始化...";
break;
case 1:
msg.innerHTML="加载中...";
break;
case 2:
msg.innerHTML="连接完成...";
break;
case 3:
msg.innerHTML="交换数据...";
break;
default:
break;
}
}
}