打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
java视线论坛 :: 阅读主题 - ajax三言两语
这里的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文档直接一些,不必通过转换可以让js直接访问数据,而且是通过对象导航来访问的,爽一个字。

ajax最后一环,就是通过dom对象绘制界面,这方面我也不是很精通,每次对着msdn画瓢呗。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一篇文章教会你JavaScript json 解析
AJAX原理
掌握 ajax,第 1 部分: ajax 简介
使用JavaScript 和Ajax 发出异步请求(一)
理解 Ajax 及其工作原理,构建网站的一种有效方法
Ajax学习(6)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服