我目前正在开发一个使用基本cgi的网站来翻页.我希望将网站更改为具有更好的(读取动态)界面.
你会建议我开始使用哪些技术(如果不是AJAX)和/或教程?
"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的复杂性.让框架处理它以及出现的所有浏览器兼容性问题.
祝好运!
通过选择以下内容,最好接近AJAX:
在Javascript语言的.
了解DOM.
理解XMLHttpRequest.
一旦掌握了这些内容,您就可以就您希望使用的API或框架做出明智的决定.后端并不重要,但我建议使用JSON作为您选择的XML协议.XML解析充满了不一致性,需要代码破解才能解决.JSON更加直截了当.
有关详细信息,请参阅我的回答" 是否有人从Struts 1迁移到另一个Web框架? "
您可能想要查看HTML :: Prototype,JQuery或CGI :: Ajax