当我在2020年第一次开始web开发的时候阿贾克斯在专业开发人员的耳语中被提及。这是一个革命性概念的开始,它塑造了网站调用HTTP数据并将其加载到页面上的方式。

在这篇文章中,我想回答的问题是什么是Ajax以及如何将其应用于现代网络开发中。在过去的十年中发生了很大的变化,Ajax现在是构建动态Web应用程序的最常见的方式。
但是,在将Ajax应用于实际Web项目之前,它有助于了解Ajax的历史以及它解决的问题。
AJAX简史
Ajax是一种在不刷新页面的情况下在Web浏览器中传输HTTP数据的方法。它有时可以拼写为缩写词(Ajax),其中的字母代表异步JavaScript和XML。
这个概念是由杰西·詹姆斯·加勒特在2000年代中期就开始活跃起来了。
在早期,许多Web2.0公司对Ajax设计原则赞不绝口。最初的巨人之一是迪格投票徽章它将HTTP查询传递给投票数据库,而不刷新页面。
从那时起,许多其他网站都采用了同样的技术,而这些天来,Ajax基本上是前端Web开发的必要条件。
抽象库,如jQuery使现代开发人员能够更容易地获得基础Ajax技术,而不需要原始的、普通的JS。但是,这些基础究竟是什么,以及Ajax在浏览器中是如何工作的呢?
下面是Basics:什么是Ajax?
严格地说,ajax是api对象的一种类型,最早的方法是XMLHttpRequest()。这提供了客户端功能,可以将数据从客户端传递(或检索)到服务器,而无需刷新页面。
它最初是由微软设计的,现在已经标准化了。WHATWG。根据艾伦·斯沃茨的博客这个XMLHttpRequest(简称XHR)首先添加到IE5浏览器中。它很快被Mozilla和其他浏览器开发人员采用。
总之,微软构建了一个名为XMLHttpRequest的JS方法,允许在客户端传输HTTP数据。该方法被本地绑定到IE中,并很快扩展到其他浏览器。它是由Ajax发明的,并迅速发展成为我们今天所看到的方法论。
那么它到底是如何工作的呢?HTTP请求被发送到服务器上的文件,无论是本地的还是远程的。数据从该文件返回,然后可以由JavaScript解析。
最常见的数据类型传输最初是XML,因此名为XMLHttpRequest。但随着时间的推移,这种情况已经改变,以支持新的基于JS的数据类型,如JSON。这是一个非常自然的过程,因为JSON数据可以被解析为比XML节点友好得多的对象。
AJAX在日常开发中的应用
如果您愿意的话,仍然可以使用XHR对象,但是语法非常混乱和冗长。现在大多数开发人员更喜欢像这样的库jQuery或UmbrellaJS,两者都有自己的.ajax()方法。
而且,大多数Ajax代码都是与数据库一起使用的。Ajax调用连接到服务器上的脚本,然后脚本从数据库中提取数据。这个脚本可以用PHP、Python、Ruby、Node甚至Java编写。重要的是返回类型主要是JSON。
开发人员甚至可以使用Ajax访问远程数据库,以创建像最近的tweet这样的实时更新流。但是API通常有节流限制,以减少每分钟的通话量。
Ajax在现代开发中最有价值的用途是使用本地数据库。例如,这允许用户在不刷新整个页面的情况下更新配置文件信息,或者在类似的站点上进行投票。设计师新闻并将选票存储在数据库中,无需刷新。
任何Ajax Web应用程序的关键方面是了解数据是如何从前端传递到后端的。Ajax优化是一个值得阅读的主题,如果你需要提高一个网站的速度。
异步加载:有多频繁?
开发人员对此吹毛求疵,陷入激烈的争论之中。何时使用Ajax在网站上。似乎没有一个正确的答案,但有一些最佳做法和建议值得考虑。
第一种方法是尽可能频繁地减轻HTTP调用。除非你有一个开发团队和一个像Twitter这样的服务器场,否则你不能在你的应用程序上运行实时的Ajax更新而不牺牲速度。
Ajax最好用于改善Web应用程序中的用户体验。一些博客使用无限滚动将分页从页面刷新更改为Ajax调用的技术。从长远来看,这可能实际上节省带宽因为您不是要提取一个完整的HTML页面,而只是一些通过JavaScript解析的原始数据。
然而,缓存也是一个因素,这一领域的优化有很多可说的。
但是一般来说,现在的Internet速度要快得多,而且您可以更频繁地使用Ajax调用。记住要问自己为什么需要额外的功能:Ajax特性是否真的增加了用户体验,还是仅仅是您想要做的事情呢?
再读
无锡公司网站制作看到Ajax作为一种方法学在短短十年内有了如此大的发展,真是令人惊讶。Ajax最初是web开发人员的奢侈品,现在被认为是标准的操作过程。
虽然Ajax背后的技术细节可能很吸引人,但是学习更多知识的最好方法是为自己构建一些东西。看看下面的教程,从简单的目标开始。API可以提供一种学习Ajax的有趣方法,而无需构建自己的数据库。