Ajax简单应用示例: XMLHttpRequest对象实例化方式及调用
来源:互联网 发布:软件测试因果图 编辑:程序博客网 时间:2024/06/07 17:45
这里要做的是使用XMLHttpRequest对象读取XML文件。
a.xml文件内容如下:(其实是一个HTML格式的XML文件)
<html><head><title>Hello, Ajax!</title></head><body>I am there.</body></html>
MyHtml.html文件内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>MyAjax</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script language="javascript" type="text/javascript"> /* * 实例化一个HttpRequest对象 */ function getHttpRequest(){ var xmlrequest = false; //对于Firefox和Opera等浏览器 if (window.XMLHttpRequest) { xmlrequest = new XMLHttpRequest(); //有此版本的Mozilla浏览器在处理服务器返回的包含XML mime-type头部信息内容时会出错。 //所以,为了确保返回内容是text/xml信息,需要包含下面的语句。 if(xmlrequest.overrideMimeType) {xmlrequest.overrideMimeType("text/xml"); } } else //对于IE浏览器 { //将IE的不同XMLHttp实现声明数组 var MSXML=new Array('Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); //依次对每个XMLHTTP实现创建XMLHttpRequest对象 for(var i=0; i<MSXML.length; i++) { try { xmlrequest=new ActiveXObject(MSXML[i]); break; } catch (ex) { } } } return xmlrequest;} /* * 使用一个已经实例化HttpRequest的对象执行GET请求 */ var request; function processRequest(url,processMethod) {request = getHttpRequest();if(request){ request.onreadystatechange = processMethod; request.open("GET",url,true);//第3个参数设置为true时将发生异步调用 ,false时为同步调用。 request.send(null);} } /* * GET请求时执行的详细方法。【多个不同的GET请求可以定制多个方法】 */ function processMethod1() { if(request.readyState == 4){ if(request.status == 200){ var xmlObj = request.responseXML;//获得XML对象 //var titlee = xmlObj.getElementsByTagName("title")[0].text 只兼容IE //var titlee = xmlObj.getElementsByTagName("title")[0].textContent 只兼容FireFox var titlee = xmlObj.getElementsByTagName("title")[0].childNodes[0].nodeValue; alert(titlee); } elsealert("Error"); } } </script> </head> <body> This is my HTML page. <br> <input name="btn" type="button" id="btn" onclick="processRequest('a.xml',processMethod1);" value="弹出消息" size=25px/> </body></html>修改上面的processRequest()方法,可以更直接调用XMLHttpRequest对象,但不灵活。代码如下:
/* * 使用一个已经实例化HttpRequest的对象执行GET请求 */ var request; function processRequest() {request = getHttpRequest();if(request){ request.onreadystatechange = function(){ //在这里直接嵌入执行方法if(request.readyState == 4){ if(request.status == 200){ var xmlObj = request.responseXML;//获得XML对象 var titlee = xmlObj.getElementsByTagName("title")[0].childNodes[0].nodeValue; alert(titlee); } elsealert("Error");} }; request.open("GET","a.xml",true);//第3个参数设置为true时将发生异步调用 ,false时为同步调用。 request.send(null);} }
本文参考自:
《JSP宝典》邹竹彪
http://xplq.iteye.com/blog/197522
http://www.cnblogs.com/sunbett/archive/2010/10/12/1848891.html
http://blog.csdn.net/bianzhiqi/article/details/4640700
- Ajax简单应用示例: XMLHttpRequest对象实例化方式及调用
- ajax的简单实例 XMLHttpRequest对象
- Ajax应用示例: XMLHttpRequest封装
- AJAX创建XMLHttpRequest对象实例
- Ajax技术及 XMLHttpRequest 对象
- ajax原理 XmlHttpRequest对象 【AJAX 实例】
- AJAX中创建XMLHttpRequest对象实例
- XMLHttpRequest对象的一个简单运用示例
- Ajax应用简单示例
- Ajax应用之XMLHttpRequest对象重用(IE)
- AJAX初级应用——XMLHttpRequest对象
- Ajax简单例子(XMLHttpRequest对象)
- AJAX中XMLHttpRequest的简单应用
- AJAX 简介 及 XMLHttpRequest对象的使用方法
- ajax-XMLHttpRequest()对象,属性及方法
- 原生ajax示例XMLHttpRequest
- Ajax应用简单实例
- EJB对象的部署及客户端调用简单示例
- JSTL概述
- http://blog.163.com/fanxiaoqc@126/blog/static/331419002011021115430752/ hasOwnProperty 与 isProperty
- 程序员成熟的标志
- PHP5函数小全
- 通用标签1
- Ajax简单应用示例: XMLHttpRequest对象实例化方式及调用
- java比较文件和文件夹
- 服务器数据库系列 - Nginx502页面解决方法之一
- hdu 4332 状态压缩的矩阵加速DP 谢sue神
- Android 数据库
- linux mysql修改密码
- 程序猿的九重天
- 删除表的重复记录
- 去掉IOS开发过程中L not found的警告