随着网络的发展,新技术不断涌现,并以不同寻常的方式结合在一起。特别是Ajax和jQuery的组合,是迄今为止最强大的组合之一。本文的目的是简要概述Ajax和jQuery,并讨论jQuery如何使Ajax开发比以往任何时候都更容易。
什么是Ajax?
自2005年成立以来[1]Ajax(异步JavaScript和XML)已经改变了我们今天所知道的web。它允许网页直接向web服务器发出请求,而无需重新加载页面,从而帮助网站发展为富Internet应用程序(ria)。
该功能对于复制在客户机应用程序中实现的丰富用户体验至关重要。
Ajax的实践
假设您有一个web应用程序的登录表单。为了确保用户在不使用Ajax的情况下输入的登录名和密码是匹配的,您的web应用程序将不得不加载一个全新的web页面,如果登录成功则显示一个帐户屏幕,如果登录失败则显示一个错误屏幕。这是处理登录的老方法。
一个更精明的方法解决这个问题的方法是使用Ajax检查登录和密码是否正确。下面是Ajax在这种情况下的工作方式:一旦用户输入了登录名和密码并提交了登录web表单,就可以使用一个JavaScript函数调用Ajax调用,该调用发送两个参数——登录名和密码。web服务器(通常通过服务器端脚本/语言,如PHP)获取这两个参数,然后查询用户数据库,看看是否匹配。
如果在数据库中找到匹配,那么web服务器可以返回一个成功标志。否则,web服务器可能返回错误消息。接下来,您将拥有一个接受Ajax响应的JavaScript函数。
如果响应成功,它可以使用window.location
将用户发送到他们的帐户屏幕。如果响应包含错误消息,应用程序可以在屏幕上显示错误,而无需重新加载页面。这样做的主要好处是,您不必仅仅为了处理用户名/密码验证而重新加载整个页面,使您的web应用程序响应更快,如果页面很重,还可以节省大量带宽。
jQuery是什么?
2006年1月上映[2],jQuery是一个跨浏览器的JavaScript库,旨在简化HTML的客户端脚本。被近百万个网站使用[3.]jQuery是目前最流行的JavaScript库。
jQuery可以轻松处理DOM对象、事件、效果和Ajax,自动处理JavaScript泄漏,并且有无数的第三方插件。
Ajax的问题
尽管Ajax对web产生了革命性的影响,但即使是经验丰富的开发人员也很难使用它。人们通常会创建自己的自定义函数来处理Ajax调用,以便该功能可以在web应用程序中重用。当web应用程序使用不同类型的Ajax调用时——例如同时处理同步和异步调用的能力——或者处理不同响应格式的能力,如字符串消息、HTML、CSV、XML、JSON等——这可能会变得非常繁琐。
作为一名专业的web开发人员,我个人花费了无数小时构建处理Ajax调用的定制方法。传统的Ajax调用通常采用以下形式:
函数httpRequest(id) {if (window.XMLHttpRequest){//编码IE7+, FF, Chrome, Opera, Safari http=new XMLHttpRequest();} else {// code for IE6, IE5 http=new ActiveXObject("Microsoft.XMLHTTP ");} http.onreadystatechange=function() {if (http. onreadystatechange=function()readyState==4 && http.status==200) {response = http.responseText;}} dest= " servlet.php? "Id = " + Id;http。打开(“得到”,dest);http.send ();}
如果您的web应用程序只使用一个Ajax调用,那么实现它并不是什么大问题。然而,当您的web应用程序利用大量Ajax调用并试图将代码分离以使其可重用时,就会出现问题。
Ajax的思想是向web服务器发送请求,等待响应,然后更新HTML页面。可以方便地创建自定义函数,如httpRequest ()
它接受两个参数——一个请求URL和一个响应函数——可以在整个系统中重用。但是,一旦开始设置此功能,您就会立即发现,当您试图使用eval ()
以及如何使您的新函数处理同步调用、异步调用和不同的响应格式。
在一天结束的时候,创建一个简单的想法定制httpRequest ()
功能很快就变成了一个大项目。jQuery的另一个优点是它有额外的Ajax函数和方法可以使用,这可以进一步减少开发和调试时间。
你好Ajax。jQuery见面。
在其他优点中,我最喜欢jQuery的特性之一是它能够用很少的努力利用Ajax。
要进行Ajax调用,你可以这样做:
美元。一个jax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } });
如果您以前在没有使用jQuery的情况下开发过Ajax应用程序,那么您将立即看到这里的价值。jQuery将Ajax的所有属性放到了一个简单的API中。你可以控制一切,包括url
,缓存
、成功函数、数据类型,甚至同步,所有这些都来自一个简洁的声明。
简直太美了。
从Ajax + jQuery开始
如果你还没有使用JavaScript Web开发框架,如jQuery或MooTools,而你正计划创建响应式Web应用程序,你应该利用这些很棒的库。对于jQuery,下面列出了一些您可以参考的教程。
参考文献
- Ajax: Web应用程序的新方法
- jQuery 1.0
- jQuery使用统计
相关内容
- jQuery入门教程
- 使用jQuery创建一个光滑和可访问的幻灯片
- 10个简单的jQuery技巧
- 相关类别: JavaScript和Web开发