通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>AJAX>>正文 新版上线![旧版]
注:打开慢时请稍等

Ajax技术:构建动态的Java应用程序

http://www.iyit.net  日期:2006-5-25 14:35:04  来源:网络转载   点击:
参加讨论

{

// 将载有响应信息的XML传递到处理函数

responseXmlHandler(req.responseXML);

} else

{

// 有HTTP问题发生

alert("HTTP error: "+req.status);

}

}

}

}

HTTP状态码

在列表6中,XMLHttpRequest的status属性被测试用来确定请求是否成功完成。当处理简单的GET与POST请求,你可以认为只要不是200(OK)的状态就表示发生了错误。若服务器发送了一个重定向响应(例如,301或302),浏览器会透明地完成重定向并从新位置获取相应的资源;XMLHttpRequest不会看到重定向状态码。

同时,浏览器自动添加一个缓存控制:对于所有XMLHttpRequest都使用no-cache header,这样客户端代码就可以不用处理304(not-modified)响应。

关于getReadyStateHandler()

getReadyStateHandler()是相对比较复杂的一段代码,特别当你不能熟悉阅读JavaScript时。折中方案是在你的JavaScript库中包含此函数,你可以简单地处理Ajax服务器响应,而不用去注意XMLHttpRequest的内部细节。重要是你自己要理解在代码中如何使用getReadyStateHandler()。

在列表3中,你看到getReadyStateHandler()被这样调用:

handlerFunction=

getReadyStateHandler(req,updateCart)

由它返回的函数将会检查在req变量中的XMLHttpRequest是否已完成,并调用由updateCart指定的回调方法处理响应XML。

提取购物车数据

列表7中展示了updateCart()中的代码。此函数使用DOM来解析购物车XML文档,并更新WEB页面(参见列表1)来反映新的购物车内容。注意对用来提取数据的XML DOM的调用。

Cart元素上生成的属性,即序列化时生成的时间戳,通过检测它可以保证不会用老的数据来覆盖新的购物车数据。Ajax请求天生就是异步的,通过这个检测可以有效避免在过程外到达的服务器响应的干扰。

列表7:更新页面来反映出购物车XML文档内容

function updateCart(cartXML)

{

// 从文档中获取根元素“cart”

var cart =

cartXML.getElementsByTagName("cart")[0];

// 保证此文档是最新的

var generated =

cart.getAttribute("generated");

if (generated > lastCartUpdate)

{

lastCartUpdate = generated;

// 清除HTML列表,用来显示购物车内容

var contents =

document.getElementById("cart-contents");

contents.innerHTML = "";

// 在购物车内按条目循环

var items =

cart.getElementsByTagName("item");

for (var I = 0 ;

I < items.length ; I++)

{

var item = items[I];

// 从name与quantity元素中提取文本节点

var name = item.getElementsByTagName("name")

[0].firstChild.nodeValue;

var quantity = item.getElementsByTagName

("quantity")[0].firstChild.nodeValue;

// 为条目创建并添加到HTML列表中

var li = document.createElement("li");

li.appendChild

(document.createTextNode(name+" x "+quantity));

contents.appendChild(li);

}

}

// 更新购物车的金额累计

document.getElementById("total").innerHTML = cart.getAttribute("total");

}

到现在,关于Ajax处理过程的教程已经结束,也许你想让应用运行起来,并看看它的实际运作。这个例子非常简单,有非常大的改进的余地。比如,我在服务器端代码中包含了从购物车中移除条目的代码,但从客户端UI中没有访问的途径。作为一个练习,尝试在现有的JavaScript基础上实际这个功能。

本新闻共6页,当前在第4页  1  2  3  4  5  6  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:Perl的Ajax实现与中文问题
下一篇:.net Ajax无刷新技术
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
JSON-RPC-Java 和DWR比较 Ajax 的 Java 对象序列化 将java和Ajax结合在一起
AJAX框架JSON-RPC-Java 1.0rc2 发布 MD5加密的javascript实现例子 PHP与JavaScript对多项选择的处理
PHP和Java 一个简单编程思想在php与java中的实现比 怎样使用PHP调用功能强大的JAVA类库
封装常用Javascript以便PHP快速调用 可折叠大纲javascript脚本 JSP调用JavaBean在网页上动态生成柱状图
在JSP中使用JavaMail jsp中javaBean的运用  Java socket功能的一个小应用
Jsp + JavaBean循序渐进教程 javamail在jsp中调用 二 javamail在jsp中调用 一
利用Java实现zip压缩/解压缩 Sun Java Web Server 能让攻击者远程执 Netscape 修复 JAVA 安全漏洞
CNET JSP BASIC:JSP与JavaBean Java和ASP的交互(二) Java和ASP的交互(一)
最新更新 热点排行 推荐新闻
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
AJAX案例研究之google suggest
用AJAX开发智能Web应用程序之基础篇
用AJAX开发智能Web应用程序之高级篇
WEB2.0中AJAX应用的详解
AJAX及使用E4X编写Web服务脚本
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
如何在Win20003中更好的玩游戏
QQ收费头像免费使用的方法 
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息