All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP实例程序:用PHP制作登录页面程序_[PHP教程]
ASP.NET中如何从视频文件中抓取一桢并生成图像文件_.net资料_编程技术
Sql Server2005登录失败_[SQL Server教程]
PHP代码:从数据表里塞选出重复的数据_php资料_编程技术
不需要mod_rewrite直接使用php实现伪静态化页面_[PHP教程]
《Effective,C#》-使用成员初始化语句_[Asp.Net教程]
ASP.NET&Spring.NET&NHibernate最佳实践(二)——第1章前言_[Asp.Net教程]
PHP和AJAX创建的RSS聚合器_[PHP教程]
C#教程:拖放技术相关方法和事件使用实例
小例子:ASP.NET定制简单的错误处理页面_[Asp.Net教程]
Reading number is top 10 pictures
Athena chu perspective cheongsam shine with New York
徐若瑄展示美丽胸围1
Chinese paper-cut grilles art appreciation5
色狗系列
八个盛产美女的国家1
2012 national geographic daily picture8
NeedWallpaper14
The woman fight much more than men
Poor doll, hand job was caught the currently in effect by his dad
Valentine's day comes, send some cartoon
Download software ranking
Tram sex maniac 2 (H) rar bag19
Sora aoi's film--cangkong_Blue.Sky
天龙八部最新服务端
虚拟机汉化软件
美女写真2
Boxer's Top ten classic battle1
电车之狼R
C语言教程TXT
传奇私服架设教程
Unix video tutorial14
归海一刀 published in(发表于) 2014/3/16 2:51:42 Edit(编辑)
AJAX初体验之上手篇_[AJAX教程]

AJAX初体验之上手篇_[AJAX教程]

AJAX初体验之上手篇_[AJAX教程]

HotHeart的BLog: www.xujiwei.cn/blog


AJAX初体验之上手篇


AJAX是这两年蛮热的东西,我也凑凑热闹,前些天去找了些教程学学,下面就按整个处理过程把自己学的东西写写,不过,因为是初学,所以有错误就请见谅啦,欢迎指正^_^。


1.创建 XMLHttpRequest 对象


现在的浏览器有很多种,创建 XMLHttpRequest 的方法也不相同,所以为了兼容各种浏览器,在创建 XMLHttpRequest 时也应该考虑到各种浏览器的情况。目前主流的浏览器在Windows下有IE、Firefox及Opera,所以我们写的代码要尽量兼容这几个浏览器。在参考了一些资料后,我用下面的方法来创建 XMLHttpRequest 对象:


CODE:


// 先定义一个变量,并赋初值为 false,方便后面判断对象是否创建成功
var xmlObj = false;
// 使用 try 来捕获创建失败,再换个方法来创建
try {
// 在 Mozilla 中使用这种方式来创建 XMLHttpRequest 对象
xmlObj=new XMLHttpRequest;
}
catch(e) {
try {
// 如果不成功,那么尝试在较新 IE 里的方式
xmlObj=new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e2) {
try {
// 失败则尝试使用较老版本 IE 里的方式
xmlObj=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e3) {
// 还是失败,那么就认为创建失败……
xmlObj=false;
}
}
}
// 如果创建 XMLHttpRequest 对象失败,那么提醒访问者该页面可能无法正确访问
if (!xmlObj) {
alert("XMLHttpRequest init Failed!");
}


2.使用 XMLHttpRequest 来获取 XML 文档


在用 XMLHttpRequest 来获取 XML 需要注意这个文档必需和自己在同一个域中,我的理解是同一个域名之下,或者同一目录之中,如果不是就会出现“拒绝访问”的错误。在本地高度时,也必需运行一个 Web 服务器,而不能直接在浏览器里打开这个网页。


CODE:


// 使用 open 方法来打开一个请求,这个方法有3个参数,分别是请求方式,请求文件的URL及同步方式(?不是很清楚具体叫什么来的:)
// 请求方式可以是 GET,POST,HEAD中的一种,因为我要获取文件,所以用 GET
// 请求文件的URL,直接用相对路径即可
// 同步方式,表示请求发出后是等待回应(false)还是继续执行下面的代码(true),即所谓异步了。AJAX的第一个A就是表示异步了,所以这里用 true
xmlObj.open ("GET", "sample.xml", true);
// 因为使用异步方式所以要在 XMLHttpRequest 对象的状态改变时做相应的处理
xmlObj.onreadystatechange=function() {
// 如果 XMLHttpRequest 的状态为4,应该是ready来的,那么继续处理
if(xmlObj.readyState==4) {
// 需要判断返回状态是否为200 OK,有些情况如文件不存在,就为返回404
if(xmlObj.status==200) {
// 一切OK,调用处理过程
DoMyXML();
}
}
}
// 发送请求,因为是GET,所以send的内容为null
xmlObj.send(null);


3.用ASP来创建XML文档


为了动态显示的需要,就要用到动态网页了,我用的是ASP。


CODE:


<%
' 修改头标识指明这是一个XML文档
Response.ContentType="text/xml"
' ......
strXML=""
' 这里就按XML的要求来输出数据库里的内容了
strXML=strXML&"....."
' ......
Response.Write(strXML)
%>


4.处理XML文档


在获取了XML文档之后,就要从中获取需要的东西了,假如我从服务获取了下面的XML文档:


CODE:





AJAX Study
Study AJAX


我要的是title及content的内容,那么可以像下面这样做:


CODE:


function DoMyXML() {
var xmlDoc,items,title,content;
// 先从XMLHttpRequest对象中得到XML文档
xmlDoc=xmlObj.responseXML;
// 再得到items
items=xmlDoc.getElementsByTagName("item");
// 最后根据TagName来获取想要的内容
// 如果XML文档里有多个item,可以用数组的下标来表示第几个
title=items[0].getElementsByTagName("title")[0].firstChild.data;
content=items[0].getElementsByTagName("content")[0].firstChild.data;
}


好了,现在已经得到我想要的东西,可以把它们显示出来了。


5.输出处理结果


先假定有一个如下的HTML文档用来显示想要输出的内容:


CODE:




AJAX Study






这里定义了一个ID为mydisplay的DIV容器用来显示输出内容,好了,再转到JS:


CODE:


//...接DoMyXML;
//content=items[0].....;
var strHTML;
// 先组织好要显示的内容
strHTML="Item title: " + title + "
Item content: " + content;
// 获取目标容器,再设置它的innerHTML为要显示的内容
document.getElementById("mydisplay").innerHTML=strHTML;


好了,这些差不多是编写AJAX程序的基础,具体用就看个人发挥了,当然AJAX并不只这些,更多可以参考相关资料。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.