关于快速简便的使用AJAX技术操作的介绍

2016-02-19 20:59 6 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是关于快速简便的使用AJAX技术操作的介绍,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

其实AJAX并不复杂,自从AJAX技术出来后,天花乱坠的框架纷纷出台,搞得技术开发人员无从下手,baidu google里也有很多例子,大都是非常复杂。

其实就web开发而言,AJAX技术只是一个配合,完全没有必要本末倒置,是一种页面优化的技术,也就是说,如何去优化我们的web页面才是AJAX的重头戏。下面我举个很简单的例子,可以满足大部分的业务需求。(当然,如果是很专业的页面要求,可以去参考那些复杂的框架)

第一步:

写一个后台的“接口”,这个可以用任何语言来实现,只要能返回http报文就可以了,我这里以webwork后台代码举个例子

public String hotWeek() throws Exception{

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/xml; charset=gb2312");

PrintWriter out = response.getWriter();

StringBuffer insertHotHtml = new StringBuffer();

insertHotHtml.append(" cellspacing=0 ");

insertHotHtml.append("

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)");

insertHotHtml.append("

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)");

insertHotHtml.append("

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)");

insertHotHtml.append("

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)");

out.print(insertHotHtml.toString()); //返回一个有表格的HTTP报文

return null;

}

不用java的朋友根本不用管这些,只要记住,能返回一个HTTP报文,比如一个静态网页也可以。

第二步 :

在页面里加入下面这段javascript代码

var xmlHttp;

function createXMLHttpRequest(){

if (window.ActiveXObject){

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

else if (window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

}

}

function startAjaxRequest(method,async,actionUrl,data, invokeMethod){

createXMLHttpRequest();

xmlHttp.open(method, actionUrl, async);

xmlHttp.onreadystatechange = handleStateChange;

xmlHttp.send(data);

function handleStateChange(){

if(xmlHttp.readyState == 4){

if(xmlHttp.status == 200){

var nodeId = xmlHttp.responseText;

if (nodeId=='noPermission'){

alert('你没有权限访问此操作!');

}else if( (falseIndex = nodeId.indexOf("false||"))!= -1 ){

alert('操作失败,可能的原因为:' + nodeId.substring(

falseIndex+7, nodeId.length) + "!");

}else if(nodeId=='false'){

alert('操作失败,请和管理员联系!');

}else ...{

if (invokeMethod == undefined){

getResult(nodeId);

} else {

invokeMethod(nodeId);

}

}

}

}

}

}

我们要用的就是startAjaxRequest(method,async,actionUrl,data, invokeMethod) 这个方法,具体实现,也不可以不用理会,对于IE和firefox都可以兼容,method 要么是GET,要么是POST,async我们一般都设置为true就可以了,data用来传数据给后台,invokeMethod是指后台返回数据后,前台自动调用什么方法,如果为空,那么就默认调用 invokeMethod(nodeId)这个方法。

$(document).ready(function(){

var actionUrl = "./provider!hotWeek.action";

$('body').html("页面加载中...");

startAjaxRequest("GET",true,actionUrl,'');

});

这里我是用jQuery的,一个很好用的javascript框架。

"./provider!hotWeek.action" 就是我们获取HTTP报文的地址,大家完全可以用 比如 myTable.asp myTable.php只要返回的HTTP报文是符合XML规则的HTML语言就可以了。

第三步:

后台返回后的处理方法

function getResult(nodeId){

$('body').html(nodeId);

}

总结起来,其实只要 startAjaxRequest("GET",true,actionUrl,'') 这么一个方法就可以去满足大部分AJAX的业务需求了,根本没有必要弄得那么复杂。

来源:http://www.tulaoshi.com/n/20160219/1624984.html

延伸阅读
标签: Web开发
Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力,迎来了第二个春天。 具体来说,Ajax基于下列这些核心技术: XHTML:对应W...
标签: Web开发
    保守来说,AJAX在现在是热得不能再热的技术。没有人能否认,它拥有大批的支持者。在CNN上,它从二月份的一个不被看好的词语到十月份成长成一个初具雏形的技术。所以,有必要要看看为什么AJAX能发展成为现在的样子,为什么它能不断成长,并且在短的时间内迅速变得无处不在。所以,我用午夜谈话的风格,来给出需要AJAX技...
标签: Web开发
现在的项目准备用ajax,用ajax.net实现,而不是atlas,所以先看下ajax.net,Ajax.Net现在的最新版本是AjaxPro5.11.4.2 首先我们新建个项目,名字是AjaxPro,我用的是vs2005beta2版本。   右击站点名字点add reference添加对我们刚刚下载来的那个叫AjaxPro.2.dll的引用,如果你用的是vs2003,则添加对AjaxPro.dll的引...
标签: Web开发
1.介绍 Ajax由于其良好的交互性,在去年很引人注目。Google Suggest 和 Google Maps [ref 1]就是一些Ajax早期的著名应用。现在,企业正在考虑他们如何也能利用Ajax,web开发者在学习它,安全专家在想如何使它变得安全,黑客们在思考如何入侵。所有能提高服务器吞吐量,能产生更多的动态页面传输,而且能为最终用户提供更加丰富的web应用的技...
一、 简介 异步JavaScript+XML(即Ajax),是一种创建交互式web应用程序的Web开发技术。这种程序使用JavaScript和XML从客户端提交服务器请求,且整个过程中仅需要交换少量的数据而不必提交整个web页面。因此,这样的程序将更快和更具响应性,并将成为新一代客户机-服务器系统的重要基础技术之一。你可以在站点http://www.google.com/w...

经验教程

690

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部