频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> Ajax教程 -> 如何在 Oracle JDeveloper 中进行 Ajax 编程(续)

如何在 Oracle JDeveloper 中进行 Ajax 编程(续)

作者:佚名  来源:不详  发布时间:2007-3-25 17:17:09  发布人:圈圈

减小字体 增大字体

 

使 Ajax 成为异步应用程序

异步请求允许应用程序用户在等待服务器响应的同时继续进行自己的工作。即使用户不能在服务器响应前继续自己的工作,使用异步请求的方法也比同步调用更有利。例如,为避免用户将注意力集中在按下的按钮上,您可以在屏幕上显示一些可供最终用户消遣的小部件,如进度条。这部分上机练习不会涉及到上述内容,我们仅把同步调用更改为异步调用。

1.

使用以下语句替换在 helloAjax.html 页面中定义 doTheAjaxThing() 函数的当前 html" class="wordstyle">JavaScript 语句,使请求成为异步调用:

<script type="text/html" class="wordstyle">javascript">var requestObject;var READY_STATE_COMPLETE = 4;var PAGE_SUCCESS = 200;function doTheAjaxThing(){param="name="+(document.form1.name.value.length >0 ?document.form1.name.value:"nobody");requestObject = xmlHttpRequestHandler.createXmlHttpRequest();requestObject.onreadystatechange=onReadyStateChangeResponse;requestObject.open("Get","helloajax?"+param,true);requestObject.send(null);  }function onReadyStateChangeResponse(){var ready = requestObject.readyState;var status = requestObject.status;if(ready==READY_STATE_COMPLETE && status == PAGE_SUCCESS){var div_handle = document.getElementById("message");//check if DIV element is foundif(div_handle){div_handle.innerHTML+='
</'+'br>'+requestObject.responseText; } } }</script>

当前的异步请求处理与前一个同步调用之间的差异以粗体突出显示。由于浏览器不等待服务器做出响应,此示例使用了 html" class="wordstyle">JavaScript 回调(状态改变时由 XMLHttpRequest 对象调用的函数)。涉及到的状态有四种,包括:

0
请求初始化,这是在 XmlHttRequestObject 上调用 open() 方法前的状态。
1
准备发送请求。
2
请求已发出,正在服务器上处理。
3
服务器处理请求。
4
响应完成,可供客户端进行进一步处理。

用户最关注的状态由状态值 4 指出。在上面的 html" class="wordstyle">JavaScript 函数中,为进行更好的读取,此数值被赋给 html" class="wordstyle">JavaScript 变量 READY_STATE_COMPLETE。不要混淆状态与状况。状态是 XmlHttpRequest 返回的值,而状况是 HTTP 代码,用于通知用户所请求的访问。例如,如果 requestObject 状况为 403,则用户访问了未被授权的服务器资源。此状况需要的客户端处理与状况为 200(指示成功的服务器访问)时的处理不同。

要使用 XmlHttprequest 对象注册 html" class="wordstyle">JavaScript 回调句柄 onReadyStateChangeResponse,您需要将其指定为 XmlHttpRequest onreadystate 方法 requestObject.onreadystatechange=onReadyStateChangeResponse 的值,上述方法是 XmlHttpRequest 对象公开的一个函数。

您可以随意为 html" class="wordstyle">JavaScript 函数 onReadyStateChangeResponse() 命名,但必须为 requestObject.onreadystatechange 赋予相同的名称。在读取返回的消息主体之前,您需要执行前面提及的检查,以确保就绪状态为 4、请求状况为 200。其余代码与前面示例中的代码相同。

2.

保存您的工作,然后运行应用程序。

javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">

注意,在此次执行时,从按下按钮到服务器响应仍存在延迟,但按钮会立即释放。

基本故障排除

使用 html" class="wordstyle">Javascript 时最常发生的问题是组件、变量名称的拼写错误以及对 DOM 组件上不存在属性的访问。您可以从互联网免费获取 html" class="wordstyle">JavaScript 调试器。然而,要进行迅速、随性的调试,您可以使用 alert("test"); 或 document.write("test"); 语句在客户端打印信息。在服务器端,您可以使用 Oracle JDeveloper 调试器调试所访问的 Java 代码,也可以使用 System.out.println("test");。

总结

此方法文档旨在为您提供初次使用 Oracle JDeveloper 10.1.3 进行 Ajax 编程的上机体验。正如我在介绍中提到的那样,进行 Ajax 编程的要求并不高。如果要进行更高级的 Ajax 编程,您需要对 html" class="wordstyle">JavaScript、CSS 和 http 消息代码进行更深入的研究。从 XmlHttpRequest 对象的观点来看,简单的对象(或 API)会对 Web 应用程序的开发产生重要的影响。由于 IDE 不需要特定的 Ajax 支持,您可以浏览互联网,查找使用 Oracle JDeveloper 进行应用程序开发时可参考的更多示例和当前 html" class="wordstyle">javaScript 库。

尽管构建 Ajax 应用程序涉及到的技术已经出现了很多年,但 Ajax 仍然是一种新的模式,这个领域还会有更多发展。它将导致改良客户端的出现,这些客户端最终会成为各种 Web 应用程序开发人员(包括具有 4GL 背景的开发人员)的主流客户端。

阅读有关 Oracle 和 Ajax 的更多信息

阅读并了解有关 Oracle 和 Ajax 的更多信息!请访问 Oracle 技术网 (OTN) 上的 html" target=_blank>Ajax 页面



Trackback: html" class="wordstyle">aspx?PostId=747765>http://tb.blog.csdn.net/TrackBack.html" class="wordstyle">aspx?PostId=747765


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· SQL Server非正常删除日..
· 用DW制作网页时关于文字..
· VML绘图板②脚本--VMLgr..
· 腾讯收入暴增纳税反而缩..
· 蛋壳美人 Fireworks 的作..
· Photoshop制作非主流可爱..
· 用JavaScript在页面内加..
· 在Win2K环境下安装Apach..
· Flash转像素图为矢量图(..
· 插件安全如何保证(FOR 插..
· 实现在Flash课件中显示系..
· eBay“无耻”卖家网上请..
· 关键词的运用技巧
· 把BLOG上传到远程空间-D..
· 诺基亚看好网络音乐 誓与..
· 今年境内关闭淫秽色情和..
相关文章
· 如何在 Oracle JDeve..
· 如何在oracle中限制返回结果..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号