零、序言

Ajax 是 Web2.0 站点中必不可少的范例。大多数 Web2.0 站点都是使用 PHP 和 Ajax 构建的。扩展 Ajax 是指提供前端服务,以便以快速、简单的方式访问 PHP 中的后端服务。有了这本书,你将学会如何使用必要的工具来实现网站和 iPhone 的 Ajaxification。

PHP Ajax 烹饪书将教您如何将 PHP 和 Ajax 的结合作为网站或 web 应用程序的强大平台。使用 Ajax 与服务器通信可以在后端服务中更快地响应 PHP。Ajax 和 PHP 的结合具有许多特性,例如加快用户体验、使 web 客户端的响应速度更快、让客户端浏览器从服务器检索数据而不必刷新整个页面。您将了解优化和调试 Ajax 应用程序的细微差别。此外,您还将学习如何在 iPhone 设备上编程 Ajax。

本书将向您介绍流行的基于选择器的 JavaScript,以及有关调试、优化和最佳实践的重要概念。这里有一组食谱,重点是创建基本工具,例如使用 Ajax 验证表单和创建五星评级系统。由于 jQuery 非常流行,随后将介绍有用的工具和 jQuery 插件,如 Ajax 工具提示、选项卡导航、自动完成、购物车和 Ajax 聊天。在第 7 章结束时,您将学习如何在视觉上加快网站响应速度,并构建 SEO 友好的 Ajax 网站。您还将了解所有流行的 Ajax Web 服务和 API,如 Twitter、Facebook 和谷歌地图,这些内容将在第 8 章Ajax mashup中介绍。最后,介绍了使用基本库和日常有用的 Ajax 工具构建 iPhone 应用程序的步骤。

围绕 PHPAJAX 使用丰富的标准和 mashup 构建丰富的交互式 Web2.0 站点。

这本书涵盖的内容

第 1 章Ajax 库教我们如何使用最著名的具有 Ajax 功能的 JavaScript 库和框架。这些库是根据我们的主观意见选择的,我们不想说哪个库/框架更好或更差。它们各有优缺点。

第 2 章基本工具重点介绍处理表单、表单控件、Ajax 表和上传操作的基本 Ajax 操作。解释了基于用户体验和特定系统性能的一些“最佳”实践。

第 3 章使用 jQuery 的有用工具讨论了 jQuery 插件,这些插件可用于将普通网站转换为具有美观工具提示的 Ajaxified 网站、带有 lighbox 的图像库、使用日期选择器选择日期、快速视觉效果和布局功能。

第 4 章高级工具教我们如何构建聊天、绘制图表、使用画布解码验证码以及在网格中显示数据等高级功能。。

第 5 章调试和故障排除讨论了使用 Firebug 等浏览器插件进行 JavaScript 调试的技术。

第 6 章优化教我们如何通过缩小、早期触发 JavaScript、对象缓存以及 YSlow 和 Google 页面速度工具的提示来加速代码执行。

第 7 章实现构建 Ajax 网站的最佳实践,讨论了避免标记特定代码、构建搜索引擎友好的 Ajax 网站、安全注意事项以及实现 Ajax Comet 等最佳实践。

第 8 章Ajax mashup讨论了如何利用 Flickr、Picasa、Facebook、Twitter、Google Maps 和地理编码 web 服务,利用 JavaScript 中现有的 web 服务。

第 9 章iPhone&Ajax教我们如何使用移动框架构建移动友好网站,以及如何使用 PhoneGap 框架构建原生 iPhone 应用程序。

这本书你需要什么

在本书中,您基本上需要在计算机中安装 Apache、MySQL 和 PHP。如果您的计算机中没有安装 PHP、MySQL 或 Apache,我们建议您从其网站下载 XAMPP 包 http://www.apachefriends.org/en/xampp.html 。此外,作为代码编辑器,您可以使用简单的编辑器,如记事本++(Windows)、IDE Netbeans 或 Eclipse。

这本书是给谁的

这本书是一个理想的资源,对于那些喜欢在网站上添加 Ajax 功能,并且喜欢建立 SEO 友好网站的标准和最佳实践的人来说。由于本书涵盖了高级主题,读者需要了解基本的 PHP、JavaScript 和 XML 特性。

公约

在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。

文本中的代码词如下所示:“我们可以通过使用 include指令包含其他上下文。”

代码块设置如下:

if(isset($_GET["param"])){
$result["status"] = "OK";
$result["message"] = "Input is valid!";
} else {
$result["status"] = "ERROR";
$result["message"] = "Input IS NOT valid!";
}

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

" $('#dob').datepicker({
" numberOfMonths: 2
" });

任何命令行输入或输出的编写方式如下:

# cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample
/etc/asterisk/cdr_mysql.conf

新术语重要词语以粗体显示。例如,您在屏幕上、菜单或对话框中看到的文字出现在文本中,如下所示:“单击下一步按钮将移动到下一屏幕”。

警告或重要注释显示在这样的框中。

笔记

提示和技巧如下所示。

读者反馈

我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢或可能不喜欢什么。读者反馈对于我们开发您真正从中获益最多的标题非常重要。

要向我们发送一般反馈,只需向< [feedback@packtpub.com](mailto: feedback@packtpub.com)>发送电子邮件,并通过邮件主题提及书名即可。

如果您需要并希望看到我们出版一本书,请在www.packtpub.com或电子邮件<[suggest@packtpub.com](mailto:suggest@packtpub.com)>上的建议书名表格中向我们发送注释。

如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南,网址为www.packtpub.com/authors

客户支持

既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以下载您在账户购买的所有 Packt 书籍的示例代码文件 http://www.PacktPub.com 。如果您在其他地方购买了本书,您可以访问http://www.PacktPub.com/support 并注册,将文件直接通过电子邮件发送给您。

勘误表

虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/support ,选择您的书籍,点击勘误表提交表链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题勘误表部分的任何现有勘误表列表中。通过从中选择您的标题,可以查看任何现有勘误表 http://www.packtpub.com/support

盗版

在互联网上盗版版权材料是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。

请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>与我们联系,并提供可疑盗版材料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有疑问,请致电<[questions@packtpub.com](mailto:questions@packtpub.com)>与我们联系,我们将尽力解决。