知识大全 快速、简便的使用AJAX技术操作的三部曲

Posted

篇首语:人还是要乐观,心碎了就对自己说,碎碎平安。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 快速、简便的使用AJAX技术操作的三部曲相关的知识,希望对你有一定的参考价值。

快速、简便的使用AJAX技术操作的三部曲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

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

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

  第一步

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

  

  public String hotWeek() throws Exception HttpServletResponse response = ServletActionContext getResponse(); response setContentType( text/xml; charset=gb ); PrintWriter out = response getWriter(); StringBuffer insertHotHtml = new StringBuffer(); insertHotHtml append( ); insertHotHtml append( ); insertHotHtml append( ); insertHotHtml append( ); insertHotHtml append( ); 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 == ) if(xmlHttp status == ) var nodeId = xmlHttp responseText; if (nodeId== noPermission ) alert( 你没有权限访问此操作! ); else if( (falseIndex = nodeId indexOf( false|| ))!= ) alert( 操作失败 可能的原因为: + nodeId substring( falseIndex+ 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 l( 页面加载中 ); startAjaxRequest( GET true actionUrl ); );

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

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

  第三步

  后台返回后的处理方法

  

  function getResult(nodeId) $( body l(nodeId);

cha138/Article/program/Java/hx/201311/26947

相关参考

知识大全 Why not,Why,When

Ajax三部曲:Whynot,Why,When  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  除

计算机局部网操作系统由那三部份组成?各部份的作用是什么?

计算机局部网操作系统由那三部份组成?各部份的作用是什么?参考答案:计算机局部网操作系统有时称为网件(NETWARE),它由三部分组成,即网络文件服务器程序、工作站SHELL程序及路由器软件组成。文件服

计算机局部网操作系统由那三部份组成?各部份的作用是什么?

计算机局部网操作系统由那三部份组成?各部份的作用是什么?参考答案:计算机局部网操作系统有时称为网件(NETWARE),它由三部分组成,即网络文件服务器程序、工作站SHELL程序及路由器软件组成。文件服

高压负荷开关组合柜怎样操作?

高压负荷开关组合柜主开关,操作简便,安全可靠,具有明显的断口,分合闸采用手动操作,弹簧储能,配合操作机构没完成开关快速分合闸。当负荷开关处在分闸位置时,使用操作手柄向上运动,弹簧储能释放能量,使开关快

高压负荷开关组合柜怎样操作?

高压负荷开关组合柜主开关,操作简便,安全可靠,具有明显的断口,分合闸采用手动操作,弹簧储能,配合操作机构没完成开关快速分合闸。当负荷开关处在分闸位置时,使用操作手柄向上运动,弹簧储能释放能量,使开关快

知识大全 农村家庭的饮用水水质如何快速简便地检测

农村家庭的饮用水水质如何快速简便地检测?能检测到是否有毒吗?以目前的科技能力,还没很快的非实验方法就能检测饮用水质是否含有对人体有害成分。况且有害的物质种类很多,仅仅通过试纸试液是无法做出准确判断,要

快速测试玉米种子发芽率的简便方法

从种子袋里随机取出少量种子,挑除破损粒,随机取净种子200粒,分成2份,每份100粒,放在30摄氏度水中浸泡3-4小时后捞出,用镊子去除果柄(种子的尖冠处),同时撕去胚部的种皮。把两块新毛巾投入沸水中

快速测试玉米种子发芽率的简便方法

从种子袋里随机取出少量种子,挑除破损粒,随机取净种子200粒,分成2份,每份100粒,放在30摄氏度水中浸泡3-4小时后捞出,用镊子去除果柄(种子的尖冠处),同时撕去胚部的种皮。把两块新毛巾投入沸水中

简易快速诊断鱼病法

在养鱼过程中,由于缺乏诊断技术和设备,常给正确诊断鱼病带来一定困难。如何在缺技术、缺设备的情况下简易快捷而又及时地诊断鱼病,以便对症下药呢?这里有8种简便方法:一是依据鱼的活动情况诊断。健壮的鱼一般是

简易快速诊断鱼病法

在养鱼过程中,由于缺乏诊断技术和设备,常给正确诊断鱼病带来一定困难。如何在缺技术、缺设备的情况下简易快捷而又及时地诊断鱼病,以便对症下药呢?这里有8种简便方法:一是依据鱼的活动情况诊断。健壮的鱼一般是