企业电子化的专家 Ragic 教你如何利用各种软件、
云服务让公司快速升级!
加入 Ragic 企业电子化的行列!
云工作术
各类应用演示
案例故事
逃离恶梦
关于 Ragic
云数据库
博客
关于Ragic
云工作术
各类应用演示
案例故事
逃离恶梦
关于 Ragic
云工作提案
软件比较
表格技巧
数码新鲜事
3C小学堂
免费范本
产业应用
理财
健康
职场 / 生活
制造业
零售业
服务业与其他产业
工程地产
政府 NGO
职涯与合作伙伴故事
电子化迷思破解
逃离 Excel 灾难
告别 ERP 恶梦
打印件恐怖故事
职场日记
我们的故事
Ragic教学
社群与客服
公告

最简单的AJAX体系结构

作者:Jeff Kuo

上一篇提到作者在Javascript上比较不喜欢使用Library,也提到了几个主要的原因。这时候有些朋友就问了:那都不用Library或 Framework,要怎么作AJAX呢?因此在这边我介绍一下作者最熟悉、最常用,也应该算是最简单的一个AJAX体系结构吧!

AJAX最 主要的目的就是在不需要刷新画面的前提下,跟Server抓取数据,并且根据从Server抓的数据来更新变量和画面。而在比较旧的浏览器版本时代, 作者都是使用iframe或是更早的隐藏的frame来达到这样效果。而在比较新的浏览器版本中,都有提供这样功能的物件,只要利用以下的一个 function,就可以在各种浏览器中,获取用HTTP跟Server沟通的物件。

function getHTTPObject() {

var xmlhttp=false;

if(window.XMLHttpRequest) {

try {xmlhttp = new XMLHttpRequest();}

catch(e) {xmlhttp = false;}

}else if(window.ActiveXObject) {

try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}

catch(e) {

try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}

catch(e) {xmlhttp = false;}

}

}

return xmlhttp;

}

那 Server要传什么东西回来给浏览器呢?我通常有两种作法:最简单的方式就是直接生成一段Javascript回来给Client运行,可能是用 document.getElementById抓取画面上某个物件来修改他的内容,也可以是调用一些已经写好的函数。

我通常会把这样的 动作包成一个简单的小函数如下:

function read(url,func,sync){

var _reader=getHTTPObject();

_reader.open(\'GET\',file,!sync);

if(!sync){

_reader.onreadystatechange = function(){

if(_reader.readyState==4){

if(func) func(_reader);

}

}

}

_reader.send(null);

if(sync) {

if(func) func(_reader);

}

}

未来要做任何AJAX动作只要传入要调用的一个网址,然后传入用来处理Server回传值,例如直接eval回传的Javascript,就完成了一个 AJAX的调用!而所有用到的程序代码没有多少行,相信花个几分钟就可以瞭解,就不再需要用到一堆没时间去瞭解,出了问题不知道怎么修的程序代码啰!

read(‘server.jsp’,function(res){eval(res.responseText);});

博客背后使用 Ragic! : 最强大的 No Code 企业电子化工具
    把数据放在Excel上不只是拖累团队的行政效率,他也很容易出错并且无法进行任何内控。
    当您的团队成长时,使用Excel管理数据就会越来越痛苦。
    创建你们的第一个云数据库!

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼
    用户条款 | 隐私权政策