在源编辑器中打开 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=["MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp",
"Microsoft.XMLHttp"];
for (i=0; i< tryPossibleVersions.length; 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 回调句柄向页面通知服务器的响应。在该此上机练习中,您将接触到上述两种情况。
11. 首要工作已经完成,现在您可以集中构建 HTML 页面了,该页面是真正的 Ajax 客户端。在源代码视图编辑器中打开 helloAjax.html 文件。
12.
将光标置于 <head>...</head> 元素之间,从组件选项板中选择 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 ='</' 'br>' requestObject.responseText;
}
}
else{
alert ("Request failed");
}
}
函数 doTheAjaxThing 从 HTML 页面上的输入按钮调用,并从服务器端的文本文件获得 "hello Ajax" 字符串。在 Script 对话框中按下 OK 后,函数添加到 HTML 页面标题上,且包含在 <script>...</script> 元素对中。从文件引用的 JavaScript 代码与直接向页面添加的 JavaScript 的不同之处在于,前者可以在许多其他 HTML 页面中重复使用,这就是它为什么只应包含通用代码的原因。
上述脚本使用 helloAjax.js 文件中的
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


