Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > 网页制作 > AJAX 小谈
【标  题】:AJAX 小谈
【关键字】:AJAX
【来  源】:http://www.cublog.cn/u/12202/showart.php?id=106794

AJAX 小谈

Your Ad Here     现在网络对上AJAX的评论很多,我并不打算凑热闹,只是简单的对自己对AJAX的学习作点笔记和小结罢了。
    IT界内没有迷信,只有一个一个的奇迹和突破,AJAX作为一种应用而不是一种新的技术出现,自然有一种使用习惯的影响在内。如我,喜欢LINUX,不喜欢WINDOWS,但有时候不得不用WIN。我不迷信某一种思想和技术。而使用AJAX与我使用LINUX相反,我喜欢AJAX的应用,但一般情况下我不会常用,现在产品的展示是一股脑信息的一次性给顾客,这比用户要一点得到一点要强,虽然在数据传输量上AJAX占优势,不要的不传,但在时间和对数据库压力增大了。
    比较两个SQL
1. select id,name from user limit 30;
2. select name from user where id=$id
    如果你要一两个用户的信,可能第二中方式要好些,但是我要10个用户的或者更多的话写第二种SQL就是自己跟自己的服务器,跟浏览者过不去了。
    另外一点是为了浏览器兼容问题,要几十行代码来控制,在加上OPEN,SEND等一个简单的AJAX需要50行左右,如果应用量比较小,直接用IFRAME实现(现在被称之为伪AJAX)要快得多。比方说前阵做了一个程序,是要求网站访问记数的,等页面加载完毕之后才算作是一次有效点击。实现方法:
ajax方法:
// 浏览器兼容性解决
function createXMLHttpRequest() {
    var xmlHttp = null;
    try
    {
       
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
           
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            //alert("Microsoft.XMLHTTP");
        }
        catch(oc)
        {
           
            xmlHttp=null;
            //alert('null');
        }
    }
    //alert(xmlHttp);
             
    if ( !xmlHttp && typeof XMLHttpRequest != "undefined" )
    {
        xmlHttp = new XMLHttpRequest()
    }
    //alert(xmlHttp.readyState);
    return xmlHttp;
}

function recordHit()
{
    //建立xmlhttp
    var xmlhttp = createXMLHttpRequest();
    url = "record.php?id=<?php echo $id; ?>";
    xmlhttp.open("get",url,true);
}
<html>
<body onload="recordHit();">
</body>
</html>

非AJAX解决方法要简洁的多:
<html>
<body onload="javascript: document.getElementById('iframe').src=record.php?id=<?php echo $id; ?>">
<iframe id="iframe" systle="display=none"></iframe>
</body>
</html>

上面是一个应用,强调一个问题,小应用的不需要用AJAX,比如在一些示例中演示了一些EMAIL验证,用户名唯一性验证等问题,验证EMAIL只用JS不行么,还要在服务器上验证?唯一性验证应用比较广,但用以个IFRAME照样可以解决问题。使IFRAME返回一个
<script language="javascript">
parent.document.getElement.tip.innerHTML = "The name has been used";
</script>
一样OK。

但是如果返回的数据量比较多,或者请求数比较多的时候,就可以,也建议使用AJAX了,发超量数据给用户是不行的,建立N多个IFRAME也不理智。前段时间写了一个聊天室,聊天室算是WEB里面交互行很强的一种应用,请求数很多,用AJAX就比较理智了。


添加背景音乐的代码:【上一篇】
CDN(bind+mysql)结构:【下一篇】
【相关文章】
  • [技术讨论]如何跟项目经理搞好关系,关于ajax的对话和开发工具
  • 用 AJAX处理用户输入数据时应该注意的问题
  • Ajax初试
  • Ajax初探(2)——Javascript
  • re: Call Back Callback - 整合AjaxHepler到NBear
  • re: Community Server系列之五:CS2中的Ajax原理
  • Community Server系列之四:Ajax在CS2.0中的应用1
  • Community Server系列之五:CS2中的Ajax原理
  • Community Server系列之四 Ajax在CS2.0中的应用1[探讨]
  • AjaxPro V.6.2.16.1使用数组报错
  • 【随机文章】
  • 位运算(part1)
  • 实现整网(N个Vlan)透明代理上网
  • redwall firewall-0.5.5 VPN 不能使用 web-configure
  • UNIX IP Stack 调整指南
  • PHP如何读取COOKIES
  • 用递归中序遍历二叉树
  • C语言中的IO和IO重定向
  • 2001年4月全国计算机等级考试二级FoxBASE试卷(含答案)
  • VB5三十六计
  • 在收尾阶段应该进行哪些工作?
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.