7月 17

现在网络对上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就比较理智了。

创建于: 2006-04-29 17:33:31

Defined tags for this entry: , ,

作者 rollenc

| 主要出源 (0)
请对 365 天内更新的文章进行打分
当前分数: none 。 0 次打分。 346 次点击
Bookmark AJAX 小谈  at del.icio.us Digg AJAX 小谈 Mixx AJAX 小谈 Bloglines AJAX 小谈 Technorati AJAX 小谈 Fark this: AJAX 小谈 Bookmark AJAX 小谈  at YahooMyWeb Bookmark AJAX 小谈  at Furl.net Bookmark AJAX 小谈  at reddit.com Bookmark AJAX 小谈  at blinklist.com Bookmark AJAX 小谈  at Spurl.net Bookmark AJAX 小谈  at NewsVine Bookmark AJAX 小谈  at Simpy.com Bookmark AJAX 小谈  at blogmarks Bookmark AJAX 小谈  with wists Bookmark AJAX 小谈  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It!

0 引用

  1. 没有引用

0 回复

回复显示方式(直线程 | 分线程)
  1. 没有回复

新增回复


You can use [geshi lang=lang_name [,ln={y|n}]][/lang] tags to embed source code snippets
电子邮件地址将不会被显示,而仅将被用于发送电子邮件通知

为了阻止机器人提交垃圾回复,请在相应的文本框中输入你在下面的图片中所看到的字符串。只有在你输入的字符串和图片中的字符串吻合的情况下,你的回复才能被成功提交。请确认你的浏览器支持、并且已经开启了cookies功能,否则的话,你的回复无法被正确地验证。
CAPTCHA