[随想]也说Ajax

| 2 Comments | 1 TrackBack | WebBlog Articles

Ajax现在很热门。 废话我不太会说,简单来个例子
保存为HTML就是了。



<script language="javascript" type="text/javascript">
var req;

function loadXMLDoc(url, parameters)
{
   // branch for native XMLHttpRequest object
   if (window.XMLHttpRequest) {
       //alert("window.XMLHttpRequest");
       req = new XMLHttpRequest();
       req.onreadystatechange = processReqChange;
       req.open("POST", url, true);
       req.setRequestHeader('Connection', 'close');
       req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
       req.send(parameters);
       return;
   }
   // branch for IE/Windows ActiveX version
    if (window.ActiveXObject) {
       //alert("window.ActiveXObject");
       req = new ActiveXObject("Microsoft.XMLHTTP");
       if (req) {
           req.onreadystatechange = processReqChange;
           req.open("POST", url, true);
           req.setRequestHeader('Connection', 'close');
           req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            req.send(parameters);
           return;
       }
   }
   alert("Sorry,Your Browse is so old.");

}

function PreviewMe(input, response)
{
 if (response != ''){
   // Response mode
   message = document.getElementById('ShowitBar');
   message.innerHTML = response;
 }else{
   // Input mode
   url  = 'leobbs.cgi';
   loadXMLDoc(url,'');
 }
}

function processReqChange()
{
  //  only if req shows "complete"
   if (req.readyState == 4) {
       // only if "OK"
       if (req.status == 200) {

     response  = req.responseText;

     PreviewMe('', response);

       } else {
           alert("There was a problem retrieving the XML data:\n" + req.statusText);
       }
   }
}
</script>



<form>
<input type='button' onclick="PreviewMe('','');" value='Preview Me'>
</form>


<div id="ShowitBar" style='background: #FFF; color:#000;padding: 1em'></div>


其中含义自己慢慢领悟:)

PS: 这里有个详细的解释 :

http://www.fayland.org/journal/Ajax_preview.html (非四的PerlSite)

引用通告|TrackBacks (1)

本日志的TrackBack URL: http://easun.org/cgi-bin/mtos/tb_mt_41.pl/27.

以下罗列的是网络上引用了本日志 [[随想]也说Ajax] 的 Blog 连接。

本站的SiteLog,也算是对MT的一个小Hack吧:) 一直觉得 MT 的“评论预览" 不够人性化,这样的东西当然是用 Ajax 方式好一点。网上也有现成的修改成 Ajax 发表评论和进行评论预览的插件,但是简单了看了看,总觉得太烦琐,太复杂,不利于将来的升级和增加服务器的负荷(不是玩笑,本来Ajax方式是减少负荷的,但是根据某个老外的Hack教程做了后,负荷反而增加了 -_-bbb)。 既然 Ajax 没有什么太多的技术含量,而我自己又不是想写个标准,通用的Ajax函数库出来,那么为什么不仅仅自... [阅读更多...]

本文相关评论|Comments (2)

http://www.fayland.org/journal/Ajax_url.html

这种技术其实N多年前人们就开始不知不觉地应用了吧
只是当时还没有把他总结成一种技术
仅此而已

下面引用由曾子程在 2005/5/6 00:23pm 发表的内容:

http://www.fayland.org/journal/Ajax_url.html这种技术其实N多年前人们就开始不知不觉地应用了吧
只是当时还没有把他总结成一种技术
仅此而已


XMLHttpRequest  和 Microsoft.XMLHTTP 这个接口N年前就有了? 汗。。

以前的互交我在用,利用 iframe 而已。。而 iframe不是真正的标准

发表该文评论|Leave a comment

最近发表|Recent Entries

[MT Tips]如何让某个日志在Blog首页固顶?

貌似最简单的办法就是修改日期到一个很遥远的日期,比如 AnySQL 那样:) 但是带来的问题的很多,比如导致Feed阅读器犯糊涂或者影响搜索引擎的收录等等,更糟糕的是对于 日志来说,最主要的就是发布日期。也许大家都已经发现了,我的主页模仿 MT Forum 搞了一个固顶日志(也是为了风格统一)出来,这个固顶日志是后台通过自己设置实现的。是怎么设置的。答案是利用 <mt:Entries> 的tags 功能。 具体概念代码如下:<mt:Entries tag="@top" sort_by="authored_on" sort_order="descend" limit="1" blog_ids="1,5"> dosthing.....</mt:Entries> 这样我们只要要在固定的主题 加上…

北京 Perl Workshop 2008 网站开张 - 接受大会注册,演讲报名

网站开张了, 地址是 http://conference.perlchina.org/bjpw2008/ 由 PerlChina 和 Postgresql China 合办,2008 年 11 月 8 号举行的 Beijing Perl Workshop 是一个免费的 Perl 交流会,向所有对…

好玩的 MT Forum 的按作者归档

Perl Forum 用 MT4 的 MT Forum 的功能搭建起来了好几天了,一直没有发现什么意外,今天突然发现 按作者按月归档 貌似找完了整个发布完的 Perl Forum 也没有找到 link ,查看作者个人信息貌似也没有 link ? 真是好玩的 归档方式。从后台看,给每个用户(作者)都建立了按月的归档页面,估计是为了便于各用户归档自己的文章吧? 后台抓图如下:…