快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

188金宝搏亚洲体育娱乐真人网_酒文化网进入



"Ajax" 是软件业为描述一组相关 Web 浏览器技巧而应用的缩略语,这些浏览器技巧结合在一路可为应用 web 利用法度榜样的用户供给富厚的客户端用户体验。Ajax 有望缩小今朝在基于浏览器的 web 利用法度榜样与当前客户端-办事器桌面利用法度榜样之间的应用差距。在本文中,您将懂得若何应用 Ajax 编写 "hello wor188金宝搏亚洲体育娱乐真人网ld",并经由过程几个步骤完成从简单到高档的转化历程。

关于 Ajax

"Ajax" 表示异步 Javascript 和 XML,它是 "Web 2.0" 范型的核心。一种定义(Web 2.0 有多个定义)指出,Web 2.0 是可前进相应速度、供给富厚 UI 组件的新一代 Web 利用法度榜样的简写,它使 Web 利用法度榜样更切近客户端-办事器桌面客户真个用户体验。Ajax 不是软件标准,而是对一组技巧的描述,这些技巧包括 JavaScript、文档工具模型 (DOM) 和浏览器 XmlHttpRequest 工具(IE 中为 XmlHttp 工具)。经由过程结合应用这些技巧,用户可以构建基于浏览器的交互式用户界面。

借助浏览器 XmlHttpRequest 工具,Ajax 利用法度榜样可以应用异步通信检索办事器数据。对付如何的 Web 利用法度榜样才算是 Ajax 利用法度榜样今朝还没有明确定义。是以,今朝对待 Ajax 的最佳要领是将其视为构建下一代 Web 利用法度榜样(这些利用法度榜样使我们更靠近终极用户在客户端-办事器桌面客户端上的体验)的编程模式。必要留意的一点是,Ajax 与 J2EE 或 Java 无关;相反,它可以与 .NET、PHP、CGI 和 Perl 一路应用。有关 Ajax 的好消息是,它用来解释规则的示例并不比 "hello world" 繁杂。

这篇措施文档为您使用 Oracle JDeveloper 构建 J2EE 中的 Ajax 利用法度榜样供给了一流的上机体验。

这些演习应用的技巧包括:

JavaScript - JavaScript 说话在浏览器客户端上履行,它是 Ajax 的核心。应用 JavaScript 在客户端履行逻辑、数学和功能操作。应用文档工具模型 (DOM) 时,可应用 JavaScript 动态处置惩罚浏览器中显示的网页。

文档工具模型 (DOM) - 它是 HTML 页面文档的虚拟树状表示,保存在浏览器内存中,可以经由过程 JavaScript 进行造访。可以应用 DOM 树动态处置惩罚浏览器中当前 HTML 页面上的 UI 组件。

XmlHttpRequest - XmlHttpRequest 工具是用于造访远程办事器的浏览器端 API,险些所有今世浏览器都可以供给这种技巧。XmlHttpRequest 工具使客户端可以应用 http GET 或 POST 哀求获取远程办事器数据,且无需在页面间导航。办事器造访可以设计为同步或异步要领,后者将应用 JavaScript 回调机制。

样式表 (CSS) - CSS 用于定义办事器上组件的外不雅、位置和大年夜小。应用外部 CSS 资本时,您可以使利用法度榜样的外不雅自力于视图的显示 — 在应用 Ajax 的环境下,视图平日是使用 Javascript 构建的。

HttpServlet - HttpServlet 用于仿照办事器会话来展示 Ajax 的后台数据检索。

用 Oracle JDeveloper 10.1.3 构建 Ajax 利用法度榜样

遵照此处列出的具体唆使,您将从静态 HTML 客户端读取办事器端文件的文本字符串开始慢慢构建 "Hello Ajax"。完成此措施文档后,您将开拓出一个从办事器上的 servlet 读取数据的网页,并应用 CSS 样式表为检索的数据行建立交变的背景致。一个输入文本域容许您为显示的消息供给输入。单击此处下载完备的 Oracle JDeveloper 10.1.3 事情区。

构建同步 Ajax 页面

1.从 Jdeveloper 菜单和 New Gallery 中选择 File > New > New Application,打开 Oracle JDeveloper 10.1.3 并创建一个新的利用法度榜样。在创建对话框中,键入 JDeveloper 利用法度榜样名 "HelloAjax",并供给其他所需信息。因为默认的 JDeveloper 项目可以满意必要,是以您不必选择利用法度榜样模板。

2.为默认的 JDeveloper 项目命名,如 "Ajaxprj"。

3.从 Ajaxprj 节点的高低文菜单中选择 New,打开 JDeveloper New Gallery。

4.创建一个新的 HTML 页面 helloAjax.hml。验证 helloAjax.html 文件位于 public_html 目录下,以便嵌入的 web 容器能运行该文件。

5.创建一个文本文件 helloAjax.txt。要创建该文本文件,在 JDeveloper New Gallery 中选择 General > Simple Files 条款。

6.创建一个 JavaScript 文件 helloAjax.js。JavaScript 文件可经由过程选择 Web Tier > HTML 条款进行创建。同时,确保上述两个文件位于 JDeveloper "Ajaxprj" 项目的 public_html 目录下。

7. 在源代码视图中打开 helloAjax.html 文件,将光标置于元素之间,并从 JDeveloper 组件选项板 (ctrl+shift+P) 中选择 Html Common > Script。在打开的对话框中选择 helloAjax.js 文件条款。此操作在 html 文件中创建一个对 JavaScript 的引用,以确保向客户端加载 HTML 页面时 JavaScript 代码可用。

8.在源编辑器中打开 helloAjax.js 文件,将以下 JavaScript 代码复制到文件中。

var xmlHttpRequestHandler = new Object();

xmlHttpRequestHandler.createXmlHttpRequest = function(){

var XmlHttpRequestObject;

if (typeof XMLHttpRequest != "undefined"){

XmlHttpRequestObject = new XMLHttpRequest();

}

else if (window.ActiveXObject){

// look up the highest possible MSXML version

var tryPossibleVersions=["MSX188金宝搏亚洲体育娱乐真人网ML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0",

"MSXML2.XMLHttp.3.0",

"MSXML2.XMLHttp","Microsoft.XMLHttp"];

for (i=0; i

try{

XmlHttpRequestObject = new ActiveXObject(tryPossibleVersions[i]);

break;

}

catch (xmlHttpRequestObjectError){

//ignore

}

}

}

return XmlHttpRequestObject;

}

JavaScript 是可重复应用的代码,它初始化 XmlHttprequest 工具并为调用法度榜样返回句柄。XmlHttpRequestObject 变量是作为 createXmlHttpRequest 函数的句柄创建的。JavaScript 在必然程度上容许面向工具的编程,而将变量用作对函数的引用避免了命名冲突(在此环境下,JavaScript 文件中包孕多个同名的函数)。

createXmlHttpRequest 函数的 XmlHttpRequestObject 变量用于保存 XmlHttpRequest 工具引用。查看代码,您将发明我们在探求 XmlHttpRequest 工具和 XmlHttp 工具。虽然 Internet Explorer 和其他浏览器都支持 XmlHttprequest 工具,但该工具在 Internet Explorer 中的命名与其他浏览器有所不合。假如第一个前提 typeof XMLHttpRequest != "undefined" 能够满意,则客户端浏览器是 Mozilla、Safaris 或任何支持异步 JavaScript 哀乞降相应的非 IE 浏览器。假如前提 window.ActiveXObject 为真,则客户端浏览器为 IE。Microsoft 的浏览器还会区分 XmlHttp 版本支持,是以开拓职员最好应用最新的支持。for() 轮回测试浏览器对特定 XmlHttp 版本(从最新版本到最旧版本)的支持,并从 XmlHttpRequest 工具引用中引用最新的版本支持。

应用 XmlHttpRequest 工具引用时,您可以应用 JavaScript 从 HTML 页面发出办事器调用。根据宣布哀求的要领是同步的照样异步的,浏览器会等待办事器相应或应用 JavaScript 回调句柄向页面看护办事器的相应。在该此上机演习中,您将打仗到上述两种环境。

9.保存您的事情。

10.在 JDeveloper 中打开 helloAjax.txt 文件并输入文本消息 hello Ajax,然后保存文件。

11.重要事情已经完成,现在您可以集中构建 HTML 页面了,该页面是真正的 Ajax 客户端。在源代码视图编辑器中打开 helloAjax.html 文件。

12.将光标置于 元素之间,从组件选项板中选择 Html Common > Script 条款。此时,您无需引用外部 JavaScript 文件,而只需直接在对话框的 Content 文本区域输入 JavaScript 代码。以下 JavaScript 代码引用了 helloAjax.js 脚本中创建的 xmlHttpRequestHandler,将静态的 HTML 文件转换成动态的 Ajax 客户端。

function doTheAjaxThing(){

var PAGE_SUCCESS = 200;

var requestObject = xmlHttpRequestHandler.createXmlHttpRequest();

requestObject.open("Get","helloAjax.txt",false);

requestObject.send(null);

if (requestObject.status==PAGE_SUCCESS){

var div_handle = document.getElementById("message");

//check if DIV element is found

if(div_handle){

div_handle.innerHTML+=''+requestObject.responseText;

}

}

else{

alert ("Request failed");

}

}

函数 doTheAjaxThing 从 HTML 页面上的输入按钮调用,并从办事器真个文本文件得到 "hello Ajax" 字符串。在 Script 对话框中按下 OK 后,函数添加到 HTML 页面标题上,且包孕在 元素对中。从文件引用的 JavaScript 代码与直接向页面添加的 JavaScript 的不合之处在于,前者可以在许多其他 HTML 页面中重复应用,这便是它为什么只应包孕通用代码的缘故原由。

上述脚本应用 helloAjax.js 文件中的 xmlHttpRequestHandler 引用创建一个 requestObject 变量,该变量包孕 XmlHttpRequest 工具的句柄。留意,你无需斟酌页面在 IE 照样 Mozilla 中运行。对浏览器类型的选择由可重用的 JavaScript 文件进行。在 requestObj188金宝搏亚洲体育娱乐真人网ect 句柄上,调用 open() 并通报三个自变量。第一个自变量指定了造访,该造访可所以任何容许的办事器造访,如 GET、POST 或 HEAD。第二个自变量引用必要读取的 URI 源。本示例中的资本是一个文本文件,而后面示例中的资本是 HttpServlet。留意,JavaScript 安然(也称为 JavaScript 沙箱)只容许造访从中下载代码的办事器。第三个自变量是布188金宝搏亚洲体育娱乐真人网尔类型,它定义了调用是同步(假)照样异步(真)。应用同步哀求时,浏览器等待办事器相应。当从办事器获取大年夜量数据时,您不盼望在实际应用的利用法度榜样中看到这种环境。稍后,您在本次上机演习中将应用异步办事器造访。

XmlHttp Request 工具上的 requestObject.send(null)> 措施调用向办事器发送哀求。假如这是 POST 哀求,则 null 自变量将由要求办事器处置惩罚的哀求参数列表代替。

因为此示例应用了同步办事器调用,是以浏览器在继承事情之前会等待办事器的相应。由办事器发送、表示哀求成功的 http 代码是 200。在调用 requestObject.responseText 从 requestObject 中读取办事器相应之前,反省成功状态应用 requestObject.status==PAGE_SUCCESS。这是 XmlHttpRequest 工具供给的措施。其他代码引用页面上的 DIV HTML 元素,该元素可经由过程 DOM 树造访并用于显示办事器相应。

留意:requestObject.responseText 用于造访来自办事器的纯文原形应。要得到 XML 款式的数据,应用 XMLHttpRequest 工具的 responseXML 措施。有关 responseXML 的用法示例,请拜见“AJAX 非鼓吹性简介”。必要动态确定相应类型的利用法度榜样可以履行以下语句:

var contentType = requestObject.getResponseHeader("content-type");

可能返回的内容类型为 'text/xml' 或 'text/plain',唆使内容是 XML 或纯文本类型。

13.接下来的事情是在 HTML 页面上创建调用 >doTheAjaxThing 函数的输入按钮和显示结果的

元素。在 helloAjax.html 文件的代码编辑188金宝搏亚洲体育娱乐真人网器视图中,在...元素之间复制以下 HTML 源代码。

添加到输入按钮的 onclick 事故在单击鼠标时调用 doTheAjaxThing 措施。

元素有一个 id 属性,该属性用于为元素付与独一的名称,以便在 DOM 树中可以直接造访该元素。

14.为避免浏览器缓存静态 HTML 页面(这样做会对测试 Ajax 页面造成滋扰),在

16.保存您的事情并运行 HTML 文件。

17.多次按下此按钮。显示的结果应如下所示。

留意,此页面附加了所有从办事器读取的字符串。要证实当前页面应用了 Ajax,单击页面的从新加载按钮,您会发明所有字符串都从页面中删除了。

恭喜!您已创建了第一个 Ajax 法度榜样!

增强 Ajax 利用法度榜样

以下演习构建在上一个示例的根基上,并用 Http Servlet 调换了 helloAjax.txt 文件。因为 servlet 可以包孕逻辑,能够基于预先的定义改动相应款式,是以 servlet 比文件更具动态性,您可以应用 CSS 样式表为返回的数据行设置交变颜色,并显示页面用户键入的文本。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: