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
}
) ;
}