{S0}简介
有一次,我正在使用JSP和Java的Web项目,我需要实现的AJAX。当时,我刚刚听到AJAX技术的名称。同往常一样,时间线很短,所以我搜索了一些关于Ajax良好的PDF图书。我打开的书,它增加了我的忧虑,因为这些过于冗长,我认为thatnbsp,我可能无法在这短短的时间内阅读一些基本的章节。总之,经过一番略读和扫描大ofnbsp;材料,我是能够实现AJAX.nbsp的;
我认为本文将AJAX的初学者非常有帮助。我希望完成这篇文章后,你的人将能够实现AJAX在您的应用程序以及。
AJAX是异步JavaScript和XML的缩写。
AJAX是没有任何新的编程语言,而只是为创造更好,更快,更交互的Web应用的新技术。 AJAX使用JavaScript的Web浏览器和Web服务器之间发送和接收数据。
AJAX技术使得网页幕后的Web服务器交换数据,而不是重新加载整个网页的用户每次改变,更加适应。 AJAX实现的最好的例子就是雅虎邮件。 AJAX实现的另一个例子是填充在TextBox或部分页面更新进入ZIP为基础的城市和国家。
它使用异步客户端浏览器和Web服务器之间的数据传输(HTTP请求),允许网页请求信息,而不是重新加载整个页面的服务器的小位。基地的AJAX
AJAX基于以下开放标准的技术是很简单的:JavaScript的XML的HTML的CSS
在AJAX中使用的开放标准,支持所有主流浏览器。 AJAX应用程序独立于浏览器和平台。可以说,它是一个在同一时间跨平台和跨浏览器技术。传统Web应用程序,通常它的输入(使用HTML表单)提交到Web服务器。 Web服务器处理的数据/请求后,它会返回一个完全新的网页用户的浏览器。
因为服务器返回一个新的网页,每次用户提交输入,传统的Web应用程序通常运行缓慢,而且往往要少的用户友好。
使用AJAX,Web应用程序可以发送和接收数据,无需重新加载整个Web页面。这是通过发送HTTP请求到服务器(幕后),并通过修改网页只有部分使用JavaScript时,服务器返回数据
AJAX技术后骨是thenbsp; XMLHttpRequest对象。
要创建AJAX Web应用程序,你必须成为熟悉所谓的XMLHttpRequest的JavaScript对象。在XMLHttpRequest
XMLHttpRequest对象是AJAX的关键。一直以来发布的Internet Explorer 5.5,但不能完全发现之前,人们开始讨论在2005年关于AJAX和Web 2.0。
这是非常简单的创建一个XMLHttpRequest对象,如:
方法使用XMLHttpRequestopen()方法// available in Internet Explorer 6 and later
var XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
// available in Internet Explorer 5.5
var XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
// built in JavaScript object available in almost all of the Internet Explorers.
var XMLHttp=new XMLHttpRequest()
open()方法设置一个Web服务器的请求。send()方法
发送()方法发送一个请求到服务器。 (后面的场景。客户端的浏览器不刷新,或采取任何往返。)abort()方法
abort()方法中止当前的服务器请求。XMLHttpRequest的readyState属性
readyState属性定义XMLHttpRequest对象的当前状态。这里是readyState属性的可能值:国家说明
的readyState = 0
请求未初始化。当您创建XMLHttpRequest对象,但之前,你有所谓的open()方法。
的readyState = 1
请求已经成立。所谓的open()方法后,你有,但之前,你有所谓的send()。
的readyState = 2
请求已发送。当你调用send()方法。
readyState的= 3
请求的过程。在浏览器与服务器建立通信,但服务器之前已完成的响应。
的readyState = 4
请求完成。请求后已经完成,并已经完全从服务器收到的响应数据。
对于Ajax应用程序,你会实际上只是有兴趣innbsp; 4状态,即,当请求完成,它是安全的tonbsp的,使用接收到的数据。
在此之后对XMLHttpRequest的基本和精确的知识,现在你是能够实现的AJAX技术。如何simplenbsp,它是!难道不是吗?使用代码
有三个代码文件。控股的JavaScript代码, 控股前端HMTL代码和thenbsp第二;第三个将要执行的客户端的场景背后,将给通过前端的HTML页面的服务器端代码JavaScript文件。第1步,将下面的代码在你的HTML文件{C}第2步。使一个JavaScript文件,使用下面的代码
第3步。做一个服务器端页面(JSP / ASP / PHP /...)// JavaScript Document... save this with the file name getEmployee.js
var xmlHttp
function showEmployee(str)
{
xmlHttp=CreateXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="GetEmployeeInfo.jsp"
url=url+"?qparam="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("EmployeesDIV").innerHTML=xmlHttp.responseText
}
}
function CreateXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
由于我使用它与JSP,我为您提供在JSP代码的例子页面。您可以更改此代码根据你的服务器端编程语言,如PHP,ASP等或任何其他你只要记住此文件延长showEmployee(包括正确的名称的要求)功能的JavaScript你正在建设一个URL来达到幕后。
下面是在JSP代码。保存名称GetEmployeeInfo.jsp。// File GetEmployeeInfo.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String responseText=new String("");
String OptionValue=(String) request.getParameter("qparam");
responseText="<table width=\"200\" border=\"1\"><tr> <td>Name</td>
<td>Designation</td> <td>Age</td></tr>";
if(OptionValue==null){OptionValue="NULL";}
if(OptionValue.equals("SABAH"))
{
responseText+="<tr> <td>1610</td>
<td>Software Engineer </td>
<td>22</td> </tr>";
}
else if (OptionValue.equals("HASAN"))
{
responseText+="<tr> <td>1592</td>
<td>System Engineer </td> <td>24</td> </tr>";
}
else if (OptionValue.equals("MUZIO"))
{
responseText+="<tr> <td>1598</td>
<td>Graphic Designer </td> <td>25</td> </tr>";
}
else if (OptionValue.equals("YASIR"))
{
responseText+="<tr> <td>1626</td>
<td>Network Engineer </td> <td>23</td> </tr>";
}
else if ( OptionValue.equals("WAQAS"))
{
responseText+="<tr> <td>1595</td>
<td>Recuiter </td> <td>19</td> </tr>";
}
else
{
responseText+="<tr> <td>N/A</td> <td>N/A</td> <td>N/A</td> </tr>";
}
responseText+="</table> ";
out.print(responseText);
%>
</body>
</html>
在上面的服务器端代码,你可以从数据的基础上(MySQL和Microsoft Access中,甲骨文,微软SQL Server 2005的XML)的值。只有一件事要记住,你必须作出一个有效的HTML,并将其发送到该页面的响应。浏览器支持
AJAX应用程序只能运行在Web浏览器与完整的XML支持。互联网浏览器(IE)和Mozilla Firefox有完整的对XML的支持不够,运行AJAX应用程序。历史2006年12月,第12届:战后初期