您的位置:首页 > 其它

ajax方法总结

2008-03-05 16:36 267 查看
利用ajax取得用户列表,并放在listbox中

1.//该方法创建一个XMLHttpRequest对象,并返回。
function createXMLHttpRequest() {
var xmlHttp;
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}

2.//创建浏览器兼容的XMLHttpRequest对象
function CreateXmlHttp(){
var xmlhttp;
try{
xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){

try{
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp=new XMLHttpRequest();
}catch(e){}
}

}
return xmlhttp;
}

3.//ajax调用对象

getData=function(uri,json){
var xmlhttp=CreateXmlHttp();
var base=this;
//定义XMlHttpRequest对象的事件处理程序
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
base.xmlhttp = xmlhttp;
if(xmlhttp.status==200){
base.onsuccess();
}else{
base.onfailure();
}
}
}
//创建一个连接
xmlhttp.open("post",uri,true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
//发送请求
xmlhttp.send(json);
this.onsuccess=function(){};
this.onfailure=function(){};
}

4.调用方法

//通过服务器得到对应员工的值并且添加到listBox里
function getUsers(obj)
{
var ObjGetData=new getData("?deptId="+obj.title,null);
ObjGetData.onsuccess=function()
{
var lstUser=document.getElementById("lb_user");
lstUser.length=0;
var users=this.xmlhttp.responseText.split('№');
users=users[0].split('|');

for(var i=0;i<parseInt(users.length)-1;i++)
{
var user=users[i].split(':');
var userid=user[0];
var username=user[1];
lstUser.options.add(new Option(username,userid));
}
}

ObjGetData.onfailure=function(){

...

}

}

5.服务器页面的方法

public void GetUser(int deptId)
{

string users = "";
foreach (DictionaryEntry dce in emp.GetUserByDeptId(deptId))
{
users += dce.Key.ToString() + ":" + dce.Value.ToString() + "|";
}
Response.Write(users+"№");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: