background image

Ajax 

 

代码。打开 /column/protected/zend/views/scripts/post/read.php 文件。这是完

 

成所有工作的位置。对于初学者,需要在文件头中包括 Prototype  库:<script 

type="text/javascript" src="/zend/scripts/prototype.js"></script>。

 

在编写任何 JavaScript 之前,请把所需的其他部分准备好。需要一些内容来显示当

 

前等级。在等级中,需要带有固定 ID 的等级跨度,以便可以在请求时更新等级值。post 

下面可能有如下所示的内容:<h4>Rank: <span id="rank"></span></h4>。

接下来,需要一对按钮(链接也可以),用户可以单击这些按钮来指出是否喜欢某

 

个 post 。给它们提供良好的初始名。您应当把下面的代码放到等级下: <input 

type='button'   onclick='rankUp();'   value='Hot'   />

 或

 <input 

type='button' onclick='rankDown()' value='Not' />。

 

要使 Prototype 可以更轻松地使用隐藏的  post_id 输入字段,确保字段具有 

ID post_id。

而 且 最 后 , 向 代 码 体 中 添 加  onLoad 事 件 来 获 得 当 前 等 级 : <body 

onload='fetchRank();'>。

 

正 如 预 期 一 样 , 需 要 编 写 三 个 JavaScript   函 数 : rankUp 、 rankDown 

和 fetchRank

 

。这些函数将执行实际的 Ajax 请求。它们非常简单并且看上去与在其他框

架中完全相同。把这些函数放在文件头的 <script> 部分中。

 

清单 2. 

 

三个 JavaScript 函数

                

        func t ion  fe tchRank( )   {

                var  a jax  =  new  Ajax .Reques t (

                        ' / zend / rank / read ' ,

                        {

                                method  :   ' ge t ' ,

                                parameters  :   { 'pos t _ id '   :   $( 'pos t _ id ' ) . va lue} ,

                                onComple te :   parseRank

                        }

                ) ;

        }