四.Rate me:使用AJAX在这一部分我们写了一个小小的AJAX应用,它能够rate一些东西
(译者Keel注:就是对某些东西投票),就像在youtube.com上面看到的一样。
首先我们需要一些服务器端代码,这个例子中用到了一个PHP文件,读取rating参数然后返回rating总数和平均数。看一下
rate.php代码。
虽然这些例子也可以不使用AJAX来实现,但显然我们不会那么做,我们用jQuery生成一个DIV容器,ID是"rating"。
$(document).ready(function() {
// generate markup
var ratingMarkup = ["Please rate: "];
for(var i=1; i <= 5; i++) { ratingMarkup[ratingMarkup.length] = "" +
i + " ";
}
// add markup to container and
applier click handlers to anchors
$("#rating").append( ratingMarkup.join('')
).find("a").click(function(e) {
e.preventDefault();
// send requests
$.post("rate.php", {rating: $(this).html()}, function(xml) {
// format
result
var result = [
"Thanks for rating, current average: ",
$("average", xml).text(),
", number of votes: ",
$("count",
xml).text()
];
// output result
$("#rating").html(result.join(''));
} );
});
});
这段代码生成了5个链接,并将它们追加到id为"rating"容器中,当其中一个链接被点击时,该链接标明的分数就会以rating参数形式发送到rate.php,然后,结果将以XML形式会从服务器端传回来,添加到容器中,替代这些链接。
如果你没有一个安装过PHP的webserver,你可以看看这个
在线的例子。
这是一个比较粗糙的例子,更完美的例子可以访问
softonic.de 点击 "Kurz bewerten!"。
更多的AJAX方法可以从
这里找到,或者看看
API文档下面的AJAX。
(译者Keel注:这个在线实例从国内访问还是比较慢的,点击后要等一会儿才能看到结果,可以考虑对它进行修改,比如加上loading,投票后加上再投票的返回链接等。此外,这个例子中还是有很多需要进一步消化的地方,看不懂的地方请参考API文档。)
一个在载入AJAX时经常发生的问题是:当载入一个事件句柄到一个需要载入内容的HTML文档时,你只能在内容载入后再加载这些句柄,为了防止代码重复执行,你可能用到如下一个function:
// lets use the shortcut
$(function() {
var
addClickHandlers = function() {
$("a.clickMeToLoadContent").click(function()
{
$("#target").load(this.href, addClickHandlers);
});
};
addClickHandlers();
});
现在,addClickHandlers只在DOM载入完成后执行一次,并且是在用户点击具有clickMeToLoadContent 这个样式的链接后。
请注意addClickHandlers函数是作为一个本地变量定义的,而不是全局变量(如:function addClickHandlers() {...}),这样做是为了防止与其他的全局变量或者函数相冲突。
另一个常见的问题是关于回传(callback)的参数。你可以通过一个额外的参数指定回叫的方法,简单的办法是将这个回叫方法包含在一个其它的function中:
// get some data
var foobar = ...;
// specify
handler, it needs data as a paramter
var handler = function(data) {
...
};
// add click handler and pass foobar!
$('a').click(
function(event) { handler(foobar); } );
// if you need the context of
the original handler, use apply:
$('a').click( function(event) {
handler.apply(this, [foobar]); } );
用到简单的AJAX后,我们可以认为已经非常之“web2.0”了,但是到现在为止,我们还缺少一些酷炫的效果。下一节将如谈到这些效果。
感兴趣的链接:
下一篇:
http://keelsike.blogspot.com/2006/12/jqueryjquery_12.html前一篇:
http://keelsike.blogspot.com/2006/12/jqueryjquery_10.html
分享到:
相关推荐
**jQuery中文入门指南** jQuery是一款高效、简洁的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。这个“jQuery中文入门指南”是为初学者准备的,旨在帮助大家快速理解并掌握...
这个指南是一个对jQuery库的说明,要求读者了解HTML(DOM)和CSS的一些常识。它包括了一个简单的Hello World的例子,选择器和事件基础,AJAX、FX的用法,以及如何制作jQuery的插件。 这个指南包括了很多代码,你可以...
资源名称:jQuery 七天入门指南内容简介:jQuery 初级教程——七天入门指南中文版, pdf高清淅版,翻译加实例,学习jQuery的第一手资料,jQuery的起点教程,书中的内容涉及以实例为基础一步步说明了jQuery的工作方式...
总之,这份jQuery中文入门指南是一个很好的起点,通过实例教学,你可以快速掌握jQuery的基本用法,为进一步深入学习和应用打下坚实的基础。在实践中不断探索,结合官方API文档和在线资源,将有助于你更好地理解和...
【jQuery中文入门指南】这篇教程面向的是对HTML(DOM)和CSS有一定了解的读者,旨在介绍jQuery库的基础知识。教程通过实例代码展示,鼓励读者复制并尝试修改,以加深理解。 1. **安装jQuery**:首先,你需要获取...
jQuery中文入门指南,翻译加实例,jQuery的起点教程 此文以实例为基础一步步说明了jQuery的工作方式。现以中文翻译(添加我的补充说明)如下。如有相关意见或建议请麻烦到我的 BLOG 写个回复或者 EMAIL 告知。
总结,jQuery StarterKit是一个理想的起点,它通过实际的代码示例,帮助开发者快速入门jQuery,从而在Web开发的道路上迈出坚实的一步。通过深入学习和实践,开发者可以熟练掌握这一强大工具,提升开发效率,创造出更...
Q0,新手必看教程: 第一步,jQuery中文入门指南,翻译加实例,jQuery的起点教程 第二步,下载手册方便查询(jQuery 1.41 中文API文档 chm版) 第三步,深刻了解jQuery对象和普通DOM对象的区别。互相转化见Q1 Q1,js...
jQuery UI 是一个基于 jQuery 库的用户界面交互框架,它提供了丰富的组件,帮助开发者实现复杂的交互和视觉效果,而无需依赖第三方...本文提供的实例和实践指南,为读者深入理解和使用jQuery UI提供了一个良好的起点。
#### 三、快速入门指南 **3.1 安装与配置** - **引入jQuery和jQuery Mobile库**:在HTML文档头部通过`<script>`标签引入jQuery和jQuery Mobile的JavaScript文件。 - **添加CSS样式**:通过`<link>`标签引入jQuery ...
- **在线教程:** 包括W3Schools、jQuery API文档在内的多个在线平台提供了丰富的教程和示例。 - **书籍推荐:** - **《jQuery权威指南》:** 本书深入介绍了jQuery的核心概念、语法和最佳实践。 - **《锋利的...
在"C# Web应用开发入门指南"中,你将逐步学习这些知识点,并通过实例加深理解。通过实践项目,你可以巩固理论知识,最终具备独立开发C# Web应用的能力。这个过程可能充满挑战,但随着对C#和ASP.NET的理解不断深入,...
#### 三、掌握jQuery **《锋利的jQuery》** 是一本专注于教授jQuery使用的书籍。 - **内容简介**:本书提供了大量的jQuery API示例,使读者能够快速上手并掌握这一强大的JavaScript库。它通过简单直接的方式介绍...
【HTC指南】初学者教程 在深入了解HTC(HTML Component)之前,我们先要明白,HTC是一种早期由Microsoft开发的技术,主要用于增强HTML页面的行为,它结合了HTML、脚本语言(如JavaScript)和组件技术,使得网页交互...
此外,AngularJS还提供了一种目录布局和测试脚本作为应用开发的起点,进一步降低了入门门槛。 综上所述,AngularJS是一个功能强大且全面的Web应用开发框架,尤其适用于构建CRUD应用。它通过扩展HTML语法,提供了...
EasyUI 是一个基于 jQuery 的轻量级用户界面框架,它为开发者提供了丰富的组件,包括布局、表格、对话框、菜单、按钮、表单等,使得Web应用开发更加便捷。EasyUI 的设计目标是让开发者更专注于业务逻辑,而无需过多...