注意Ajax本身是一种浏览器端技术,它和Web服务器端采用什么脚本书写代码是没有关系的。比如我们把Client.htm的语句send_request(‘server.php’, username)换为send_request(‘server.asp’, username),再相对应的建立server.asp文件,内容为:
<%
dim username
username = request(”username”)
if username=”Thomas” then
response.write(”用户名” & username & “已经被注册,请更换一个用户名”)
else
response.write(”用户名” & username & “尚未被使用,您可以继续”)
end if
%>
做了这样的改变后,在浏览器端,用户看到的效果是一模一样的。
四、常见Ajax编程框架
既然上述Ajax框架已经能工作了,为什么还有那么多的框架呢?
随着页面的复杂,可能需要书写大量的Javascript脚本来对页面中的DOM对象进行控制,工作量和复杂度会大大增加。Ajax编程框架通常利用面向对象的方法,对一些基本的对象和行为及其复杂性进行了合理的封装,建造了一套有自己特色的类库,并且考虑了效率和可扩充性等优点。我们在开发时,可以使用较少的、更清晰的代码,完成自己的工作。也使程序员有更多的时间和精力考虑业务逻辑本身,而不是与一堆脚本纠缠在一起。
框架都是与后台脚本相关的。通过后台脚本编程,我们可以不必书写大量的Javascript脚本就能构建浏览器兼容的Ajax应用。比如,我使用一个比较流行的PHP xAjax框架,对前边的示例程序进行了改写: <?php
require_once ("../xajax/xajax.inc.php");
//服务器处理函数
function processForm($aFormValues)
{
$objResponse = new xajaxResponse();
$bError = false;
//清空错误信息
$objResponse->addClear("usernameInfo", "innerHTML");
//判断账号
if (trim($aFormValues['username']) == "")
{
$objResponse->addAppend("usernameInfo", "innerHTML", "Please Input user name.");
$bError = true;
}
else
{
if(trim($aFormValues['username'])=="Thomas")
$objResponse->addAppend("usernameInfo", "innerHTML", "Has been registed");
else
$objResponse->addAppend("usernameInfo", "innerHTML", "Has not been registed");
$bError = false;
}
if (!$bError)
{
$sForm .="<div>账号:" .$aFormValues['username']. "</div>\n";
}
else
{
$objResponse->addAssign("submitButton", "value", "Submit");
$objResponse->addAssign("submitButton", "disabled", false);
}
return $objResponse;
}
//构造对象
$xajax = new xajax();
//注册处理函数
$xajax->registerFunction("processForm");
//接管HTTP请求
$xajax->processRequests();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
//生成必要的JavaScript
$xajax->printJavascript('../xajax/');
?>
<title>XAJAX 用户注册</title>
<style type="text/css">
#formWrapper{ color: #111111; background-color: rgb(200,200,200); width: 360px;}
#title{color: #FFFFFF; text-align: center; background-color: #000000; }
#formDiv{ padding: 20px;}
.submitDiv{ margin-top: 10px; text-align: center; }
.errorSpan{ color:red;}
</style>
<script type="text/javascript">
<!--//提交表单
function submitSignup()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value="验证中...";
xajax_processForm(xajax.getFormValues("signupForm"));
return false;
}
//-->
</script>
</head>
<body>
<form id="signupForm" action="javascript:void(null);" onsubmit="submitSignup();">
用户名:<input type="text" name="username" value="">
<input type="button" name="check" value="Check Only one" onClick="submitSignup();">
<input type="submit" id="submitButton" name="submit" value="Submit">
</form>
<div id="usernameInfo" class="errorSpan"> </div>
</body>
</html>
大家看到了这段代码前边的包含语句了吧:require_once ("……/xajax/xajax.inc.php")。xajax.inc.php就是定义xajax等相关类库的文件,这个文件里还包含了大量的javascript脚本文件和其他的常数定义等。Xajax类有一条自己的属性和方法,接管和封装了原始的Ajax的行为和方法,用于处理用户的事件和页面文档对象的属性和外观。
Ajax框架有它自己的好处,但是,目前由于Ajax框架太多,各有各的优点和缺点,特别是对PHP语言,我们很难在众多的框架中选中一个最适合我们自己的项目的框架。框架太多加大了交流的成本。框架本身在降低了代码复杂度的同时,也带来了学习的成本。不像。NET,背靠财大气粗的公司,就一套程序库,一套通用的IDE,熟练一门语言(比如C#),就可以开发Web和桌面应用。
最后还要注意一下,Ajax并不是万金油,任何项目都想用一下。Ajax目前大多数应用在数据校验等应用上,在项目中用的时候请慎重考虑。
分享到:
相关推荐
3. **XML与JSON**:详细解析XML数据格式及其解析方法,同时引入更轻量级的JSON(JavaScript Object Notation),并比较两者在Ajax中的应用场景。 4. **Ajax与PHP**:结合PHP,展示如何在服务器端处理Ajax请求,实现...
**AJAX经典入门教程** AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的核心在于利用JavaScript创建异步通信请求,与服务器交换数据并局部更新...
- **跨域请求**:了解CORS(Cross-Origin Resource Sharing)及其在Ajax中的应用。 - **AJAX库的使用**:如jQuery、axios等,简化Ajax操作。 通过研究这些源代码,你可以逐步理解Ajax的工作机制,学习如何在实际...
1. **基础概念**: 解释Ajax的工作原理、XMLHttpRequest对象及其方法。 2. **请求与响应**: 详细阐述如何构造请求、处理响应数据及错误处理。 3. **数据格式**: JSON、XML、HTML和Text等不同数据类型的使用。 4. **...
**Ajax入门技巧应用篇** Ajax(Asynchronous JavaScript ...通过本文档"Ajax入门技巧应用篇.chm"和"Borland Delphi Intraweb学习与交流论坛文字版.htm",你可以更深入地学习Ajax及其在Delphi Intraweb中的实践应用。
5. **持续跟踪技术发展**:关注AJAX及其相关技术的发展趋势,保持技术的更新迭代。 #### 八、总结 AJAX作为一种改变Web应用开发方式的重要技术,为用户提供更加流畅、高效的交互体验。对于初学者而言,了解AJAX的...
1. **基础概念**:了解Ajax的核心概念,包括XMLHttpRequest对象,它是Ajax通信的关键,以及异步请求的工作原理。 2. **创建Ajax请求**:学习如何使用JavaScript创建Ajax请求,包括实例化XMLHttpRequest对象,设置...
- **在线教程**:网上有很多关于Ajax的基础教程和实践案例,可以通过搜索关键词“Ajax入门教程”找到丰富的学习资源。 - **社区论坛**:加入相关的开发社区和技术论坛,如Stack Overflow,可以获得其他开发者的帮助...
从给定的文件信息来看,文章主要探讨的是AJAX(Asynchronous JavaScript and XML)技术的入门实例,尤其强调了AJAX技术在Web开发中的优势及其实际应用案例。下面,我们将详细解析这一知识点。 ### AJAX技术简介 ...
本资料包是为初学者准备的一系列Ajax入门实例,旨在帮助理解Ajax的工作原理及其在实际应用中的运用。** ### 1. 基本概念 - **异步通信**: Ajax的核心特性就是异步,意味着它可以在后台与服务器进行通信,不会阻塞...
### AJAX技术入门详解 #### 一、什么是AJAX? AJAX(Asynchronous JavaScript and XML),即异步JavaScript和XML,是一种用于...无论是基础概念还是实际案例,都展示了AJAX的强大功能及其在现代Web开发中的重要地位。
**Ajax入门** Ajax,全称为"Asynchronous JavaScript and XML",是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的出现极大地提升了用户体验,因为它允许网页在后台与服务器进行通信,...
二、Ajax的基本步骤 1. 创建XMLHttpRequest对象:所有现代浏览器都内置了XMLHttpRequest对象,可以通过new XMLHttpRequest()来创建。 2. 设置请求参数:调用open()方法指定请求类型(GET或POST)、URL和是否异步执行...
### Java Ajax 入门知识点详解 ...综上所述,通过学习Servlet、MVC模式以及JavaScript的基础知识,我们可以更好地理解和掌握Ajax的核心原理及其实现方式。这对于开发动态网页和提升用户体验具有重要意义。
《PHP_AJAX实例_经典的入门教材》是一个针对初学者设计的教程,旨在帮助学习者掌握PHP和AJAX这两种核心技术的结合使用。PHP是一种广泛应用于Web开发的服务器端脚本语言,而AJAX(Asynchronous JavaScript and XML)...
**Ajax基础及源代码详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下...通过深入学习Ajax及其源代码,开发者可以更好地掌握Web页面的动态更新技术,提升网页应用的交互性和性能。
在这个“ajax登录验证实例”中,我们将深入理解如何使用Ajax进行简单的用户登录验证,尤其适合初学者入门。 首先,让我们来了解一下Ajax的基本概念。Ajax允许我们在不重新加载整个网页的情况下与服务器交换数据并...
在PPT“14-Ajax原理及其应用”中,可能会涵盖Ajax的工作原理、请求和响应流程、错误处理等方面。此外,"MyAjax"可能是作者编写的一个简单Ajax示例代码,供学习参考。通过深入研究这两个资源,你可以更好地理解和掌握...
非常适合想要全面了解Ajax及其应用场景的读者。 - **特色**: 资源类型多样,既有理论性内容也有实践性内容。 #### 4. 官方Ajax学习站点 - **网址**: [http://www.asp.net/ajax/](http://www.asp.net/ajax/) - **...