网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Ajax
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.MagicAjax.net2.0 框架特殊字符的.
.使用jQuery简化Ajax开发—Ajax开.
.Ajax:拥抱JSON,让XML走开.
.Ajax & XMLHttpRequset.
.使用AjaxPro开发四级无刷新联动下.
.Ajax实现在textbox中输入内容,动.
.争论:Ajax技术是否即将没落?.
.Ajax简单示例之改变下拉框动态生.
.ajax的server部分(php版).
.Ajax程序中,自己实现页面前进、后.
.利用ICallbackEventHandle实现类.
.Ajax+GridView+Xml的简易留言薄.
.Ajax 框架ZK 2.2 发布.
.Ajax实现网易相册样式的修改.
.基于ASP.NET AJAX的WebPart开发与.
.[四天学会ajax] 学习Ajax教程第二.
.在Ajax 应用程序中实现数据之间交.
.注册起动脚本,ASP.NET AJAX的一.
.初步了解 ASP.NET AJAX 扩展.
.AJAX有没有未来?.

AJAX如何与后台交互

发表日期:2007-3-29


Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力。
Ajax技术之中,最核心的技术就是XMLHttpRequest,它最初的名称叫做XMLHTTP,是微软公司为了满足开发者的需要,1999年在IE5.0浏览器中率先推出的。后来这个技术被上述的规范命名为XMLHttpRequest。它正是Ajax技术之所以与众不同的地方。简而言之,XMLHttpRequest为运行于浏览器中的JavaScript脚本提供了一种在页面之内与服务器通信的手段。页面内的JavaScript可以在不刷新页面的情况下从服务器获取数据,或者向服务器提交数据。XMLHttpRequest的出现为Web开发提供了一种全新的可能性,甚至整个改变了人们对于Web应用由什么来组成的看法。它可以使我们以一种全新的方式来做Web开发,为用户提供更好的交互体验。
与传统的Web开发不同,Ajax并不是以一种基于静态页面的方式来看待Web应用的。从Ajax的角度看来,Web应用应由少量的页面组成,其中每个页面其实是一个更小型的Ajax应用。每个页面上面都包括有一些使用JavaScript开发的Ajax组件。这些组件使用XMLHttpRequest对象以异步的方式与服务器通信,从服务器获取需要的数据后使用DOM API来更新页面中的一部分内容。因此Ajax应用与传统的Web应用的区别主要在三个地方:
1. 不刷新整个页面,在页面内与服务器通信。
2. 使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的的响应能力。
3. 应用仅由少量页面组成。大部分交互在页面之内完成,不需要切换整个页面。
由此可见,Ajax使得Web应用更加动态,带来了更高的智能,并且提供了表现能力丰富的Ajax UI组件。这样一类新型的Web应用叫做RIA(Rich Internet Application)应用。
前面是本人在网上找的一些关于AJAX介绍的资料,以帮助不了解AJAX技术的读者尽快了解AJAX技术,下面本人将会把自己在实际开发过程中用到的一些AJAX技术及技巧给大家介绍一下.
使用AJAX技术最重要的就是创建XMLHttpRequest对象,关于如何创建该对象网上有很多资料.本人最常用的一个方法是
function createXMLHttpRequest() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
        try {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        } catch(e) {
            try {
                xmlhttp = new XMLHttpRequest();
            } catch(e) {
                alert("创建XMLHttpRequest对象失败!");
            }
        }
    }
    return xmlhttp;
}
下面本人将列出一些例子及一些通过这些例子可以学到的东西.
下面一段代码是本人在做新增特定物品时,做验证以判断该物品是否已在数据库中存在的例子.
<input type="text" style="width:100%" class="noEmptyInput" name="segment10" value="<%=segment10%>" maxlength="16" onblur="do_verify();">
function do_verify() {
    var segment10 = document.mainFrm.segment10.value;
    var inventoryItemId = document.mainFrm.inventoryItemId.value;
    //    alert(segment10)
    xmlHttp = createXMLHttpRequest();
    var url = "/servlet/com.sino.ies.inv.maintenance.servlet.ItemMaintainServlet?forward=doVerify&segment10=" + segment10 + "&inventoryItemId=" + inventoryItemId;
    xmlHttp.onreadystatechange = handleReadyStateChange;
    xmlHttp.open("post", url, true); //传递数据的方法同样有GET和POST两种,但是当方法为POST时下面的一句话就必须写
    xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xmlHttp.send(null);
}
function handleReadyStateChange() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            if (xmlHttp.responseText == 'Y') {
                document.mainFrm.isExist.value = 'Y';
                document.getElementById("flag").style.display = "block"
                document.mainFrm.segment10.focus();
            } else {
                document.mainFrm.isExist.value = 'N';
                document.getElementById("flag").style.display = "none"
            }
        } else {
            alert(xmlHttp.status);
        }
    }
}
后台代码为:
                boolean success = itemDAO.doVerifyItem();  //doVerifyItem为验证指定物品是否在数据库中存在的主要方法,如果该物品已存在该方法将返回TRUE
                PrintWriter out = res.getWriter();
                if (success) {
                    out.print("Y");
                }
                out.flush();
                out.close();
            }

上一篇:AJAX支持的自动填充表单 人气:8896
下一篇:Ajax联动下拉框的实现例子 人气:13540
浏览全部AJAX的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐