4

我目前正在开发一个使用基本 cgi 来翻页的网站。我希望将网站更改为具有更好的(读取动态)界面。

您会推荐哪些技术(如果不是 AJAX)和/或教程来帮助我入门?

4

14 回答 14

15

“AJAX”这个术语有点误导,很容易让试图学习它的人感到困惑。该术语本身实际上仅适用于从服务器异步获取或发送数据(即,无需重新加载页面),但它倾向于用于描述任何现代 Javascript 繁重的系统。(事实上​​,即使你在谈论异步获取或发送数据,术语“AJAX”也并不完全正确——它最初的意思是“异步 Javascript 和 XML”,但大多数现代实现使用 JSON 代替 XML )。

所以,我怀疑,你真正在谈论的是“现代 Javascript”。在网站上使用 Javascript(如前所述)涉及几种相关但不同的技术,在开始了解这些技术是什么、它们在哪里开始和结束以及它们如何交互时非常有帮助。

首先,您拥有 Javascript 语言本身。虽然有几种实现,但这实际上是相对简单的,而且你应该很容易掌握它的语法。

然后是 DOM 或文档对象模型。这是浏览器对页面本身的基于 Javascript 的界面。与 Javascript 语言相比,DOM 实际上是相当复杂的,并且很可能是您最麻烦的地方(尤其是因为不同浏览器提供的 DOM 往往会存在细微差别)。

为了真正开始学习这些东西,我建议您从了解基本的 DOM 操作开始。了解如何使用 DOM 动态创建元素、如何分配事件、代码如何与页面交互等。网络上有大量资源可供查看,还有几本书。如前所述,O'Reilly 的Javascript: The Definitive Guide是一个极好的资源。如果您想要可靠的网络资源,请尝试PPK 的网站。您还需要安装Firebug——它对调试非常有用。它也是一个出色的学习工具,您可以打开控制台并“玩”任何您想要的页面。DOM 浏览器和选项卡补全功能让它变得非常简单。

可以从孤立地查看 Javascript 开始,但它很简单,您可能只需查看几个示例就可以掌握所需的一切。相反,我建议随着你的进步,你重新审视 Javascript 语言本身。了解它的对象原型(以及它与您可能习惯的更传统的 OOP 类有何不同。)这些概念可能需要一些时间才能被某些人“点击”,而且当您在开始,所以我建议暂时忽略它。

请注意,我还没有提到 AJAX 或任何框架——如果你在开始研究框架之前对 Javascript 和 DOM 有基本的了解,你会发现它会容易得多。当涉及到 DOM 操作时,这些框架只是提供“快捷方式”和实用功能——如果您不知道它在幕后做什么,那么解决任何问题都可能非常棘手。

我还建议使用框架来处理 AJAX 的复杂性,仅仅是因为(与 DOM 操作和事件处理不同)除非你真的想要,否则你几乎没有理由了解 XMLHttpRequest 的复杂性。让框架来处理它以及出现的所有浏览器兼容性问题。

祝你好运!

于 2008-09-18T17:30:39.387 回答
11

AJAX 最好采用以下方法:

  1. Javascript语言。
  2. DOM的理解。
  3. XMLHttpRequest的理解。

一旦掌握了这些,您就可以就您想使用的 API 或框架做出明智的决定。后端并不重要,但我建议您使用JSON作为您选择的协议而不是 XML。XML 解析充满了不一致,需要代码破解才能解决。JSON 要简单得多。

有关更多信息,请参阅我对“有人从 Struts 1 迁移到另一个 Web 框架吗? ”的回答。

于 2008-09-18T14:11:10.177 回答
5

您可能想查看HTML::PrototypeJQueryCGI::Ajax

于 2008-09-18T14:08:03.303 回答
3

我建议使用 jQuery,轻量级且非常容易快速掌握,是一个很棒的 irc 和 web 社区。对于 ajax,它就像 $.ajax(url, callbackFn); - http://docs.jquery.com/Ajax

www.learningjquery.com 上的好教程

于 2008-09-18T14:07:57.783 回答
3

这里有很多关于将 AJAX(或 JavaScript/DOM)作为独立实体学习的好答案,但是 CPAN 的 CGI::AJAX 模块是设置自己拥有一个使用 AJAX 更新页面的最快、最简单的方法-the-fly 使用 Perl 后端。它不需要 DOM、XML、JSON 或 Perl 以外的任何语言、一点 HTML 和最基本的 JavaScript 提示。

您所要做的就是分配一个 JavaScript 事件处理程序(例如,onkeyup='...'),指定调用哪个 Perl 函数以及提供哪些数据作为输入,并创建一个 div 来接收输出。CGI::AJAX 将从那里为您处理与服务器的所有通信和 DOM 操作。

于 2008-09-19T14:50:40.003 回答
2

我发现在进入更深入的教程之前,W3 Schools 教程总是一个很好的起点。

http://www.w3schools.com/ajax/default.asp

于 2008-09-18T14:37:14.560 回答
1

如果您对 javascript 方面有些陌生,您可能应该开始使用框架。

Jquery是轻量级和漂亮的,并且有很好的教程文档

于 2008-09-18T14:04:53.280 回答
1

如果你真的想了解你在做什么,JavaScript: The Definitive Guide是学习 JavaScript 的一个很好的参考,并且有一个部分专门介绍 XMLHttpRequest 的工作原理以及使用它时跨浏览器的关注点。

一旦你掌握了这一点,就可以考虑使用像 jQuery 或 Prototype 这样的框架来为你处理繁重的工作。

于 2008-09-18T14:49:32.737 回答
1

我会推荐Head First LabsHead Rush Ajax一书。

它将引导您从头开始学习 Ajax。

他们对您可能知道或可能不知道的内容做出最低限度的假设。

作者很好地展示了理解和使用 AJAX 的构建块。

问候...

于 2008-09-21T04:26:23.263 回答
0

最好的办法是从一个为 AJAX 提供合理接口的 Javascript 库开始,例如 Prototype。有大量资源可用于学习此类库的基础知识。例如: http: //www.prototypejs.org/learn

于 2008-09-18T14:03:12.177 回答
0

学习 jQuery怎么样?

于 2008-09-18T14:05:10.083 回答
0

如果您不想深入了解具体细节,可以使用TIBCO 通用接口。它是免费的、开源的并在 Tomcat 中运行。GI 是一个基于 AJAX 的 IDE,在浏览器中运行,用于制作 AJAX 网站。

我不为 TIBCO 工作,只是想提供帮助。如果您必须为该工具付费,我可能不会建议您使用它。

-史蒂文

于 2008-09-18T14:13:14.307 回答
0

另请参阅perl.com的使用 Perl的Ajax

于 2008-09-18T18:44:01.457 回答
0

我从Ajax Hacks获得了关于 AJAX(以及 JavaScript,就此而言)的第一次介绍,它为理解它的全部内容以及每个人都在推动的为你做的库中幕后发生的事情提供了良好的基础.

于 2008-09-19T03:52:52.650 回答