`
阅读更多
ajax在很多程序员的眼里是一个很复杂或陌生的字眼,其实, AX并不复杂,自从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(" <table width=171 border=0 align=center cellpadding=0
cellspacing=0>   ");
            insertHotHtml.append("<tr> ");
            insertHotHtml.append("<td width=23 height=25></td>  ");
            insertHotHtml.append("</tr> ");
        insertHotHtml.append("</table> ");
        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("<strong>页面加载中...</strong>");
            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的业务需求了,根本没有必要弄得那么复杂。


分享到:
评论

相关推荐

    Ajax开发应用

    **Ajax开发应用** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这种技术结合了JavaScript、XML、DOM、CSS以及 XMLHttpRequest对象,使得Web应用程序更具...

    AJAX开发应用入门

    同时,更多的框架和库(如jQuery、AngularJS、React等)简化了AJAX的使用,使得开发人员能够更高效地构建富互联网应用程序(RIA)。AJAX将继续在提高Web应用性能和用户体验方面发挥重要作用,推动Web技术的进步。

    挑战JavaScript&Ajax;应用开发》

    《挑战JavaScript & Ajax应用开发》内容简介:Ajax是当今网络应用开发的主流技术,JavaScript是其核心,《挑战JavaScript & Ajax应用开发》从企业开发的实际需求出发,通过范例全方位介绍这2种Web开发技术及其综合...

    Ajax应用开发典型实例

    ASP.NET包括多种开发模型,如Web Forms、MVC和Web API,以及用于Ajax开发的支持。在这个经典案例中,我们很可能会看到如何在ASP.NET Web Forms或MVC中集成Ajax技术。 **Ajax的核心组件** 1. **XMLHttpRequest对象*...

    javascript&Ajax;应用开发

    以下是关于“JavaScript & Ajax 应用开发”的知识点。 ### JavaScript 语言基础 JavaScript 是一种高级的、解释执行的编程语言,它是互联网上最流行的脚本语言之一,用于网页浏览器端的编程,实现用户与网页的交...

    挑战JavaScript &amp; Ajax 应用开发

    本书“挑战JavaScript & Ajax 应用开发”显然旨在深入探讨这两个技术,帮助开发者提升他们的技能。 JavaScript,一种轻量级的解释型编程语言,是网页开发的标准组件,用于为网页添加交互性。它可以在用户的浏览器上...

    挑战javascript&ajax应用开发

    JavaScript 和 AJAX 是 web 开发中的两个重要概念,它们在创建交互式、动态和实时的网页应用中发挥着关键作用。JavaScript 是一种轻量级的解释型编程语言,主要用于客户端的网页脚本,而 AJAX(Asynchronous ...

    《Ajax应用开发典型实例》

    全书共分为13章,由浅入深、循序渐进地介绍基于Ajax组合查实例、调查程序文例、天气预报实例、会员注册登录验证、股票价格查询、无刷新新闻系统、滚动翻页、上传文件进度条、Ajax调用Web Service应用实例、RSS阅读器...

    使用HTML和AJAX开发AIR应用程序中文文档

    ### 使用HTML和AJAX开发Adobe AIR 1.5应用程序知识点详解 #### 一、Adobe AIR简介 Adobe AIR(Adobe Integrated Runtime)是一种由Adobe Systems开发的跨平台运行环境,支持使用HTML、CSS、JavaScript以及Flex等...

    ZK框架:Ajax开发实战

    由于提供的文件信息中,有关股票知识的部分占据了大部分内容,而...而ZK框架和Ajax开发的知识点,是IT专业人士进行Web开发不可或缺的基础知识,了解和掌握这些知识点对于提高工作效率和创造高质量的应用程序至关重要。

    AJAX 开发工具

    IntelliJ IDEA v7.0.3-SHOCK版本作为一款强大的AJAX开发工具,提供了全面的功能,可以帮助开发者高效、便捷地完成AJAX应用的开发。无论是前端的界面设计、JavaScript逻辑编写,还是后端的数据交互,都能在统一的环境...

    用AJAX开发智能Web应用程序之基础

    在提供的文件中,"用AJAX开发智能Web应用程序之基础篇source1.zip"和"用AJAX开发智能Web应用程序之基础篇source2.zip"可能包含了一些示例代码或教程,帮助学习者理解AJAX的实践应用。而"天极软件www.mydown.com.txt"...

    完全手册ASP.NET AJAX实用开发详解 源码

    本书从易到难、由浅入深、循序渐进系统地介绍了ASP.NET AJAX(C#)知识点和基于AJAX的Web应用系统的开发技术。全书通俗易懂,大量的实例供读者更加深刻地巩固所学习的知识,使读者更好地进行开发实践。 本书共分为15...

    AJAX开发简略.pdf

    在AJAX开发中,XML经常用于数据交换格式。处理XML文档主要包括: - **解析XML**:将XML字符串转换为DOM树,便于进一步操作。 - **选择XML生成方式**:根据实际需求选择最合适的XML生成方法,如使用DOM或SAX解析器。...

    ajax开发大全应用实例

    **Ajax(Asynchronous ...通过以上学习和实践,你可以掌握Ajax开发,并利用Xajax框架构建高效、用户体验优秀的Web应用。在实际开发过程中,不断积累经验,适应不断变化的前端技术和需求,提升自己的专业技能。

    Ajax应用开发典型实例-源码

    Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码Ajax应用开发典型实例-源码...

    Ajax开发典型应用 Ajax多样式验证 Ajax密码强度提示 Ajax智能匹配检索 Ajax实现许愿墙

    6个编程技术要点  4个开发技巧说明  4个实例演示 ...31.3 Ajax开发典型应用 681 31.3.1 Ajax多样式验证 681 31.3.2 Ajax密码强度提示 682 31.3.3 Ajax智能匹配检索 684 31.3.4 Ajax实现许愿墙 686

    JavaScript语言与Ajax应用第二版_JavaScript语言与Ajax应用_JavaScript应用_javascri

    在"JavaScript语言与Ajax应用(第二版)"这本书中,作者董宁深入探讨了这两者的核心概念和技术应用。 1. **JavaScript基础**:JavaScript语言的基础包括变量、数据类型、运算符、流程控制(条件语句、循环语句)、...

    ajax应用开发资料大全

    本资源包"ajax应用开发资料大全"显然是一个关于Ajax开发的综合资源集合,涵盖了从基础到进阶的多个方面。 首先,我们来探讨一下Ajax的核心概念。Ajax的关键在于JavaScript的异步特性,它通过创建XMLHttpRequest对象...

Global site tag (gtag.js) - Google Analytics