完全了解AJAX (四)
作者:zym007 日期:2006-12-23 16:59:01
响应状况
采用先前的代码,我们改变open method中的url参数到一个不存在的文件中:
xmlhttp.open("GET", "filethatdoesnotexist.html", true);
再次运行该代码,我们看到和先前的代码执行了相同的结果-为什么会这样?
如果这是一个正常http请求,我们预计404错误会出现-在AJAX中也具有相同的状况属性。该属性仅可读,包含HTTP请求状况代码,我们这里的文件对应的代码是404。应用于一般http请求的相同状况代码仍适用AJAX。(注意:为了正常运行,页面应该读取来自一个HTTP服务器的请求,如果从文件系统中读取,该状况代码将始终是未定义的。)
因此,我们需要增加一个if陈述,用来测试请求是否成功,如果是一个200的响应代码,将被成功返回。如果不成功,我们必须选择恰当的方式来解决错误。
function myReturnMethod() {
if (xmlhttp.readyState==4){
if (xmlhttp.status == 200) {
alert("Request successfully completed");
}
else if(xmlhttp.status == 404) {
alert("Requested file not found");
}
else {
alert("Error has occurred with status code:
"+xmlhttp.status);
}
}
}
ResponseText与responseXML
尽管我们已经可以成功地完成一个AJAX请求,但还需要对返回的数据做出处理。通过应用responseText 或responseXML属性,我们有两种处理的方式。最简单的方法是直接获取从服务器返回的数据,使用responseText属性中返回的纯文本数据。这样得到的数据可以是任何我们想要的形式;简单的文本响应,符号划界值或一整本字符串名册。在我们的返回方法中,我们将在警告中输出responseText,这将输出我们请求的整个文件内容。
在这个阶段,如果你还没有向我们发出请求的文件- another_file.html中输入任何内容,你应该做了。
function myReturnMethod() {
if (xmlhttp.readyState==4){
if (xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
else if(xmlhttp.status == 404) {
alert("Requested file not found");
}
else {
alert("Error has occurred with status code:
"+xmlhttp.status);
}
}
}
另一个可供选择的找回返回数据的方法是使用responseXML属性,其将以XML文档对象的形式返回数据,利用Javascript的DOM功能可以对其研究。为了看到这一动作的结果,我们需要返回一个恰当的XML格式文档;我们就创建一个新文件来请求(xmlresult.html), 并写入以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<root>
XML Formatted Result
</root>
然后我们需要将打开命令改为:
xmlhttp.open("GET", "xmlresult.html", true);
在我们的返回方法中所作的最大改变是,我们需要在那里替换警告(xmlhttp.responseText),代码如下:
xmldoc = xmlhttp.responseXML;
rootnode = xmldoc.getElementsByTagName('root').item(0);
alert(rootnode.firstChild.data);
瞧,我们正在利用DOM来返回数据。
通过结合我们所了解到的现有的javascript功能,该数据可被用于应付一个页面的内容。例如:
document.getElementById('resultdiv').innerHTML = xmlhttp.responseText;
何时使用AJAX
既然已经知道如何创建一个请求以及返回结果,那么还有一个问题是何时该使用AJAX呢?
对于一项新技术自然会有两方面的极端意见,一些网络开发者认为,如果没有AJAX,生活将变得更简单;另一些人则巴不得见到由AJAX构建的整个网站。通常这种情况下,真理往往介于这两种观点之间。当决定在你的网站上使用AJAX时,你也应当考虑其中带来的后果。首先,所有应用了AJAX的页面无法加入书签。随着AJAX的使用,也为你的网站引入了一种“状态”,而除了初始页面外,用户无法返回到任何其他页面。
原因是在用户的浏览器上url没有改变-如果其发生改变,AJAX就没有存在的必要了。
其次,如果想要支持每一位访问网站的用户,就需要付出双倍的工作。对于你创建使用AJAX网站的每个片段,你都必须迎合没有javascript功能用户的需要。如果为了javascript和非javascript用户具有相同的页面级别,需要做大量额外的工作,必须使用noscript标签。也就是说,AJAX通过减少浏览和交互时所需要的页面重载次数,从而提高了网站的可用性。结合javascript效果库,我们可以创建一些非常引人注目的页面交互功能,这在两年前是不可能实现的。因此,我的观点是在你的网站的非主要位置使用AJAX。例如,在某个网站,如果将AJAX结构应用到文章中将是极其错误的想法,因为你再也无法将未读完的文章加入书签。另一方面,一种文章评论或对话系统则非常适合应用AJAX。
采用先前的代码,我们改变open method中的url参数到一个不存在的文件中:
xmlhttp.open("GET", "filethatdoesnotexist.html", true);
再次运行该代码,我们看到和先前的代码执行了相同的结果-为什么会这样?
如果这是一个正常http请求,我们预计404错误会出现-在AJAX中也具有相同的状况属性。该属性仅可读,包含HTTP请求状况代码,我们这里的文件对应的代码是404。应用于一般http请求的相同状况代码仍适用AJAX。(注意:为了正常运行,页面应该读取来自一个HTTP服务器的请求,如果从文件系统中读取,该状况代码将始终是未定义的。)
因此,我们需要增加一个if陈述,用来测试请求是否成功,如果是一个200的响应代码,将被成功返回。如果不成功,我们必须选择恰当的方式来解决错误。
function myReturnMethod() {
if (xmlhttp.readyState==4){
if (xmlhttp.status == 200) {
alert("Request successfully completed");
}
else if(xmlhttp.status == 404) {
alert("Requested file not found");
}
else {
alert("Error has occurred with status code:
"+xmlhttp.status);
}
}
}
ResponseText与responseXML
尽管我们已经可以成功地完成一个AJAX请求,但还需要对返回的数据做出处理。通过应用responseText 或responseXML属性,我们有两种处理的方式。最简单的方法是直接获取从服务器返回的数据,使用responseText属性中返回的纯文本数据。这样得到的数据可以是任何我们想要的形式;简单的文本响应,符号划界值或一整本字符串名册。在我们的返回方法中,我们将在警告中输出responseText,这将输出我们请求的整个文件内容。
在这个阶段,如果你还没有向我们发出请求的文件- another_file.html中输入任何内容,你应该做了。
function myReturnMethod() {
if (xmlhttp.readyState==4){
if (xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
else if(xmlhttp.status == 404) {
alert("Requested file not found");
}
else {
alert("Error has occurred with status code:
"+xmlhttp.status);
}
}
}
另一个可供选择的找回返回数据的方法是使用responseXML属性,其将以XML文档对象的形式返回数据,利用Javascript的DOM功能可以对其研究。为了看到这一动作的结果,我们需要返回一个恰当的XML格式文档;我们就创建一个新文件来请求(xmlresult.html), 并写入以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<root>
XML Formatted Result
</root>
然后我们需要将打开命令改为:
xmlhttp.open("GET", "xmlresult.html", true);
在我们的返回方法中所作的最大改变是,我们需要在那里替换警告(xmlhttp.responseText),代码如下:
xmldoc = xmlhttp.responseXML;
rootnode = xmldoc.getElementsByTagName('root').item(0);
alert(rootnode.firstChild.data);
瞧,我们正在利用DOM来返回数据。
通过结合我们所了解到的现有的javascript功能,该数据可被用于应付一个页面的内容。例如:
document.getElementById('resultdiv').innerHTML = xmlhttp.responseText;
何时使用AJAX
既然已经知道如何创建一个请求以及返回结果,那么还有一个问题是何时该使用AJAX呢?
对于一项新技术自然会有两方面的极端意见,一些网络开发者认为,如果没有AJAX,生活将变得更简单;另一些人则巴不得见到由AJAX构建的整个网站。通常这种情况下,真理往往介于这两种观点之间。当决定在你的网站上使用AJAX时,你也应当考虑其中带来的后果。首先,所有应用了AJAX的页面无法加入书签。随着AJAX的使用,也为你的网站引入了一种“状态”,而除了初始页面外,用户无法返回到任何其他页面。
原因是在用户的浏览器上url没有改变-如果其发生改变,AJAX就没有存在的必要了。
其次,如果想要支持每一位访问网站的用户,就需要付出双倍的工作。对于你创建使用AJAX网站的每个片段,你都必须迎合没有javascript功能用户的需要。如果为了javascript和非javascript用户具有相同的页面级别,需要做大量额外的工作,必须使用noscript标签。也就是说,AJAX通过减少浏览和交互时所需要的页面重载次数,从而提高了网站的可用性。结合javascript效果库,我们可以创建一些非常引人注目的页面交互功能,这在两年前是不可能实现的。因此,我的观点是在你的网站的非主要位置使用AJAX。例如,在某个网站,如果将AJAX结构应用到文章中将是极其错误的想法,因为你再也无法将未读完的文章加入书签。另一方面,一种文章评论或对话系统则非常适合应用AJAX。
平均得分
(0 次评分)
评论: 74 | 查看次数: 2414
发表评论
订阅
上一篇
|

文章来自:
标签: 
wow gold
CAD软件下载
CAD软件下载
CAD软件
CAD软件
CAD
CAD
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
age of conan power leveling
age of conan power leveling
buy warhammer online gold
warhammer online power leveling
warhammer gold
warhammer online gold
buy worhammer gold
warhammer power leveling
洗衣设备
连锁干洗加盟
干洗加盟连锁
连锁干洗加盟
干洗店设备
干洗店设备
水洗机
水洗机
洗衣
干洗加盟连锁
洗衣
干洗机
洗衣设备
爱尔兰留学费用
爱尔兰留学签证
爱尔兰留学中介
爱尔兰留学网
爱尔兰留学论坛
爱尔兰大学排名
爱尔兰留学申请
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
水洗机
水洗机
洗衣
洗衣
连锁干洗加盟
连锁干洗加盟
洗衣设备
洗衣设备
干洗加盟连锁
干洗加盟连锁
水洗机
水洗机
水洗机
水洗机
gq1028he
wow gold
wow gold
wow account
wow account
world of warcraft account
world of warcraft account
warhammer online gold
warhammer online gold
苏州留学中介
美国大学排名
美国留学网
美国留学申请
美国留学签证
苏州朗阁
美国留学论坛
美国留学费用
美国留学中介
苏州留学
澳大利亚签证
留学中介
德国留学
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow accounts
wow accounts
buy wow account
buy wow account
buy wow accounts
buy wow accounts
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
fdzj8ksd
brogame
wow gold
wow gold
wow gold
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wowmine
wowmine.com
warhammer gold
隔膜泵
隔膜泵
隔膜泵
美的空调
美的空调
美的空调
人力资源培训
人力资源培训
大金中央空调
大金中央空调
空调
空调
人力资源管理师
人力资源管理师
大金空调
大金空调
美的中央空调
美的中央空调
格力中央空调
格力中央空调
空调
空调
人力资源管理师
人力资源管理师
人力资源培训
人力资源培训
runescape gold
runescape money
Rohan Crone
Rohan Gold
buy runescape gold
cheap runescape gold
warhammer gold
warhammer online gold
warhammer online power leveling
warhammer powerleveling
格安 沖縄旅行
歯科 インプラント
屋外広告
ショッピング枠現金化
浮気調査
くりっく365 比較
逆援助
アダルト
風俗
会社設立
人材派遣会社
FX
北海道旅行
keybuio
brogame
wow gold
wow gold
wow gold
wow power leveling
wow power leveling
wow power leveling
wow power leveling
warhammer online gold
隔膜泵
隔膜泵
美的空调
美的空调
上海韩语培训
上海韩语培训
Cosmetic surgery
Cosmetic surgery
空调
空调
海尔中央空调
海尔中央空调
上海新加坡留学中介
上海新加坡留学中介
海尔空调
菲律宾留学
菲律宾留学
磁力泵
磁力泵
上海SAT培训
上海SAT培训
wow gold
wow gold
wow gold
wow gold
wow gold
上海新加坡留学中介
上海新加坡留学
菲律宾留学
菲律宾留学
上海韩语培训
阀门
真空泵
家用中央空调
中央空调
wow gold
wow gold
YptttOcT
wow gold
wow gold
英国留学论坛
英国留学申请
英国留学中介
英国大学排名
英国留学网
英国留学费用
英国留学签证
留学前沿
留学前沿
留学前沿
法国签证
新加坡签证
澳洲签证
wow account
wow account
wow accounts
wow accounts
buy wow account
buy wow account
buy wow accounts
buy wow accounts
world of warcraft account
world of warcraft account
buy warhammer online gold
buy worhammer gold
美国留学
荷兰留学
留学
法国签证
留学英国
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
age of conan gold
age of conan gold
洗涤设备
洗涤设备
干洗连锁店
干洗连锁店
水洗设备
水洗设备
干洗设备价格
干洗设备价格
连锁店
连锁店
鞋机
鞋机
连锁洗衣店加盟
连锁洗衣店加盟
开干洗店
开干洗店
干洗设备
干洗设备
干洗
干洗
荷兰留学费用
荷兰留学签证
荷兰留学中介
荷兰留学网
荷兰留学论坛
荷兰大学排名
荷兰留学申请
连锁店
鞋机
干洗设备价格
干洗设备
干洗
荷兰留学申请
age of conan gold
wow gold
Warhammer Gold
Warhammer Online Gold
Warhammer Accounts
Warhammer Power Leveling
Warhammer Online Key
Warhammer Gold
Warhammer Online Gold
Warhammer Time Card
Warhammer CD Key
WAR gold
warhammer online gold
Buy WAR gold
Buy warhammer gold
Buy warhammer online gold
warhammer gold
WAR Accounts
warhammer Accounts
warhammer online Accounts
Buy WAR Accounts
warhammer Accounts for sale
Warhammer Power Leveling
Warhammer Online Power Leveling
War Power Leveling
Buy Warhammer Power Leveling
Warhammer PowerLeveling
Cheap Warhammer Power Leveling
Cheap Warhammer Online Power Leveling
Buy War Power Leveling
Warhammer EU Power Leveling
Cheap Warhammer Gold
Cheap Warhammer online gold
Buy Cheap Warhammer Gold
Buy WAR Gold
Warhammer EU Gold
Warhammer EU Power Leveling
Warhammer EU CD Key
Warhammer EU Accounts
Warhammer CD Key
Warhammer online CD Key
Warhammer Timecard
Buy Warhammer Time Card
Warhammer 60 days Time Card
Cheap WAR Accounts
Cheap warhammer Accounts
Cheap warhammer online Accounts
Buy Cheap WAR Accounts
buy Warhammer CD Key
buy Warhammer online CD Key
cheap Warhammer CD key
warhammer time card
Warhammer prepaid time card
Lord of the Rings Online Gold
Buy Lotro Gold
Sell LoTRO Gold
LoTRO CD Key
LoTRO Europe Gold
Cheap LoTRO Accounts
Lord of the Rings Online Power Leveling
Lord of the Rings online CD Key
Cheap Lotro Gold
Buy Lotro Gold | Lord Of The Rings Online Gold
Lotro Accounts
| Buy Lotro Accounts
Lord Of The Rings Online Power Leveling | Lord Of The Rings Online PowerLeveling
Lotro Cd Key | Lord Time Card
Lotro Gold | Lotro Gold Instant Delivery
lord of the rings online accounts | lord of the rings online accounts for sale
Lotro Power Leveling | Lotro Powerleveling
Lord Of The Rings Online Cd Key | Lord Of The Rings Online Time Card
mhaode22
上海厂房
上海厂房
厂房出租
厂房出租
厂房租赁
厂房租赁
厂房
厂房
厂房
自吸泵
液下泵
管道泵
油泵
液下泵
自吸泵
自吸泵
自吸泵
自吸泵
液下泵
液下泵
液下泵
油泵
油泵
油泵
管道泵
管道泵
oct00nn
brogame
wow gold
wow gold
wow gold
wow power leveling
wow power leveling
wow power leveling
oofay
buy worhammer gold
东方医院
东方医院
阀门
阀门
空调
空调
上海展览公司
上海展览公司
留学新加坡
留学新加坡
英语口语
英语口语
油泵
油泵
真空泵
真空泵
胶体磨
胶体磨
中央空调
中央空调
商用中央空调
商用中央空调
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
gtg10y
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow gold
wow gold
phone games
phone games
mobile Games
mobile Games
上海厂房
上海厂房
厂房出租
厂房出租
厂房租赁
厂房租赁
办公楼租赁
厂房
厂房
虹桥交通枢纽
虹桥交通枢纽
泵
水泵
环保设备
泵
泵
水泵
水泵
水泵
水泵
齿轮输油泵
齿轮输油泵
环保设备
gonaseal
gonaseal
gonaseal
gonaseal
gonaseal
lomenxi
lomenxi
lomenxi
lomenxi
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
厂房租赁
厂房出租
办公楼租赁
虹桥交通枢纽
gtg10y
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow power leveling
wow gold
wow gold
gonaseal
gonaseal
gonaseal
gonaseal
gonaseal
lomenxi
lomenxi
lomenxi
lomenxi
wow gold
wow gold
phone games
phone games
mobile Games
mobile Games
上海厂房
上海厂房
厂房出租
厂房出租
厂房租赁
厂房租赁
办公楼租赁
厂房
厂房
泵
水泵
环保设备
泵
泵
水泵
水泵
水泵
水泵
齿轮输油泵
齿轮输油泵
环保设备
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
厂房租赁
厂房出租
办公楼租赁
wow gold
wow gold
wow gold
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
item4sale
AoC gold
AoC gold
AoC gold
AoC gold
AoC gold
洗涤设备
洗涤设备
全自动干洗机
全自动干洗机
门禁
门禁
擦鞋机
擦鞋机
加盟干洗连锁
加盟干洗连锁
加盟连锁干洗
加盟连锁干洗
开洗衣店
开洗衣店
水洗厂
水洗厂
门禁系统
门禁系统
日本留学费用
日本留学网
日本留学申请
日本留学签证
日本大学排名
日本留学中介
日本留学论坛
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
wow gold
10wo8wo10
brogame
wow gold
wow gold
wow gold
wow gold
wow gold
oofay.us
warhammer power leveling
warhammer online power leveling
上海展览公司
上海展览公司
螺杆泵
螺杆泵
格力空调
格力空调
阀门
阀门
空调
空调
留学新加坡
留学新加坡
上海水泵
上海水泵
新加坡留学
新加坡留学
家用中央空调
家用中央空调
上海新加坡留学
上海新加坡留学
东方医院
东方医院
wow gold
wow gold
wow power leveling
brogame
wow power leveling
wow power leveling
wow power leveling
oofay.com
buy warhammer online gold
美的空调
美的中央空调
新加坡留学
留学新加坡
隔膜泵
磁力泵
东方医院
wow gold
wow gold
窃听器
手机监听器
监听器
手机窃听器
窃听器
手机监听器
监听器
手机窃听器
窃听器
手机监听器
监听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器
手机窃听器│窃听器