返回首页

{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对象,如:

// 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() 
方法使用XMLHttpRequestopen()方法
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文件,使用下面的代码
// 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

  }
第3步。做一个服务器端页面(JSP / ASP / PHP /...)
由于我使用它与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届:战后初期

回答

评论会员:ayshkanta 时间:2011/12/07
你能不能给一个更好的例子在PHP。它会更有帮助。
评论会员:GirishPadia 时间:2011/12/07
通过你的文章,这实在是很简单的。 Thanx
评论会员:沙巴üDIN伊尔 时间:2011/12/07
感谢喜欢它...

沙巴ü DIN伊尔
软件工程师
评论会员:MacNuttin 时间:2011/12/07
我一直在寻找一个简单的Ajax简介,这为我做。这是您的getEmployeeInfo.asp ASP版本(留意自动换行)

LT - 另存为getEmployeeInfo.asp编辑getEmployee.js文件 - >
LT %
暗淡宽度= '200'边界= '1'GT,LT; trgt; LT; tdgt; Namelt; / tdgt; LT; tdgt; Designationlt; / tdgt; LT; tdgt; Agelt; / tdgt; LT / trgt";

如果UrlString ="沙巴",然后按
的responseText =的responseText"LT; trgt; LT tdgt; 1610lt; / tdgt; LT; tdgt;软件工程师 ELSEIF UrlString ="哈桑",然后
的responseText =的responseText"LT; trgt; LT; tdgt; 1592lt; / tdgt; - ; LT; tdgt;系统工程师 ELSEIF UrlString ="MUZIO "然后
的responseText =的responseText"LT; trgt; LT; tdgt; 1598lt; / tdgt; LT; tdgt;平面设计师LT; / tdgt; LT; tdgt; 25lt; / tdgt; LT / trgt";
ELSEIF UrlString ="亚西尔",然后按
NBSP ;的responseText =的responseText"LT; trgt; LT; tdgt; 1610lt; / tdgt; LT; tdgt;网络工程师LT; / tdgt; LT tdgt; 23lt; / tdgt; LT / trgt;
ELSEIF UrlString ="WAQAS",然后按
的responseText =的responseText"LT; trgt; NBSP ; LT; tdgt; 1610lt; / tdgt; LT; tdgt; Recuiter LT / tdgt; LT; tdgt; 19lt; / tdgt; LT ; / trgt";
否则
的responseText =的responseText"LT; trgt; LT; tdgt,N / ALT / tdgt; - ; NBSP LT; tdgt,N / ALT / tdgt; LT; tdgt,N / ALT / tdgt; LT / trgt;"
如果
NBSP - ; - ;的responseText的responseText"LT / tablegt";
回复于(的responseText)

%GT;
评论会员:沙巴üDIN伊尔凡 时间:2011/12/07
... ...哦,好..

感谢苹果..

- 1:26 25日星期三7月,2007年
修改
沙巴ü DIN伊尔
http://www.bloglines.com/blog/sabah-irfan

http://sabahmyrsh.blogspot.com/
评论会员:约翰Fourie 时间:2011/12/07
请在您的内容。有些对象的宽度是导致整个页面是一个庞大的宽度,这意味着,所有的文本换行是被宠坏了。

约翰Fourie
www.codedsilicon.com