ajax三言两语(直接将xmlhttp返回值进行js代码处理)

这里的ajax可不是大名鼎鼎的ajax俱乐部, 这四个字母在这里Asynchronous JavaScript and XML的缩写。通俗地描述这项技术就是:用 JavaScript 向服务器获取数据,然后更新网页的局部,而不是刷新整个网页。
这项技术非常适合用来开发以浏览器为客户端的系统的界面,使用ajax给用户带来的更好的体验,他们不会感觉到用浏览器开发的客户端与桌面程序有什么差别。
ajax使用了比较多的javacript,并需要访问很多dom对象,这常常给跨浏览器访问带来困扰。但假如你小心应对,还是容易解决这个问题的。比如,你想从服务器段获得一些数据,你必然要用到xmlhttp,为了让程序浏览器无关,你可以这样创建xmlhttp对象:
//for IE
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

//for firefox
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}


在很多的ajax范例中,开发者都是用xmlhttp从服务器端获得一个xml数据,然后转换成javascript可触及的对象,再用js绘制到document中。但我觉得这并非唯一选项,我甚至觉得是多此一举!为什么不直接传递js对象呢?在我开发的系统中,xmlhttp从服务器上获得的是代表js对象的字符串。假如我要传送一个人员列表,我会在服务器上输出:
[{id:1,name:"hexiaodong"},{id:2,name:"mary"},{id:3,name:"name"},...]}

然后在浏览器上用js获得这个字符串所代表的对象:
var returned = xmlhttp.responseText;
var obj = eval(returned );
接着,你就可以这样访问:
var person1 = obj[0]; var person2 = obj[1];
alert(person1.id);
alert(person1.name);

这样做确实是又简单又节约资源

不过我一直想用xml格式的来读取..但是没成功不知道是什么原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值