使用 XML HTTP Request 对象[翻译](3)
作者:子乌 来源:子乌的叶子 发布时间:2007-11-07 21:11:00
标签:XML,XMLHTTP,ajax
一个URL是否存在?
另一个简单用途是判断URL是否存在,在HTTP中,HEAD和GET请求会返回集中状态代码,200代表成功,404代表失败,还有一些代表别的含义。查看HTTP状态代码获取详细的解释。对象使用属性来告诉你这个状态。
xmlhttp.open("HEAD", "/faq/index.html",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200) alert("URL 存在!")
else if (xmlhttp.status==404) alert("URL 不存在!")
else alert("状态是 "+xmlhttp.status)
}
}
xmlhttp.send(null)
无刷新调用服务端脚本
在HTML中,表单是一种调用服务端脚本的方法,它们会强制页面刷新,而这对用户来说通常并不是非常的友好。使用Http Request,你能够在不刷新页面的前提下调用脚本,并且在XML HTTP Request对象不可用的时候还能退而使用表单。
<%
a=+(Request.QueryString('a')+'')
b=+(Request.QueryString('b')+'')
if (isNaN(a) || isNaN(b)) {a='';b='';total='' }
else {
total=a+b
}
acc=Request.ServerVariables('HTTP_ACCEPT')+''
if (acc.indexOf('message/x-jl-formresult')!=-1) {
Response.Write(total)
} else {
%>
<script src="xmlhttp.js" type="text/javascript"></script>
<script>
function calc() {
frm=document.forms[0]
url="add.1?a="+frm.elements['a'].value+"&b="+frm.elements['b'].value
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
document.forms[0].elements['total'].value=xmlhttp.responseText
}
}
xmlhttp.setRequestHeader('Accept','message/x-jl-formresult')
xmlhttp.send()
return false
}
</script>
<form action="add.1" method="get" onsubmit="return calc()">
<input type=text name=a value="<%=a%>"> + <input type=text name=b value="<%=b%>">
= <input type=text name=total value="<%=total%>">
<input type=submit value="Calculate">
</form>
<%
}
%>
上面的示例使用了asp的jscript作为服务端语言,HTTP ACCEPT报头被用来告诉服务端需要发送回什么样的响应--完整的页面或者只是结果。这个HTTP ACCEPT报头用来告诉服务端客户端会接受什么样的mime-types,通常它会是一些类似 text/html的内容。这里我们告诉它我们只接受message/x-jl-formresult,所以服务器知道它是我们的客户端(或者其他知道message/x-jl-formresult的客户端)提出的请求。
另一个判断返回内容的方法是通过你发送给服务器的数据的类型推断,你也可以简单将表单提交给xmlhttp request的url变换一下。无论你怎么作,保留对可能存在的不支持xmlhttp request的浏览器的向下兼容是很明智的。
0
投稿
猜你喜欢
- 方法一:利用Cookies对象 因为Cookies对象把变量的值保存在浏览器客户端,所以可以根据Cookies保存的IsVoted的值来判断
- 阅读上一篇:FrontPage2002简明教程七:HTML在FrontPage中的应用 FrontPage 2002比起以前版本的FronP
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- 当一个页面上有一百个表单项,你是怎么获取上面的值勤的?这是一段简单的代码,你试试这段代码,试过后,欢迎留言说一下你的想法?index.asp
- 阅读上一篇:FrontPage XP设计教程4——Css样式表的应用表单在网站的制作过程中是比较常见的,举个简单的例子,我们在申请免费电子信
- 一般写ASP PHP代码的朋友都估计是采用直接操作SQL的吧~ 看以下的代码 <% dim conn,rs&nbs
- 代码如下:'===================================== '获得文件后缀 '=====
- udf_WeekDayName 代码如下:CREATE FUNCTION [dbo].[udf_WeekDayName] ( ) RETUR
- 利用图标工具(有很多)制作图标文件(favicon.ico)上传到网站所在的服务器的根目录下,这个文件必须是16*16大小的图标文件。当然,
- 我们现在使用的验证手段都是以验证码为主,让用户根据图片输入验证字符,这种方法的安全度尚可,但会给用户带来一些不便和困扰,比如这个雅虎的验证码
- ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数
- 显然,效果很实用。对于这个效果,我们并不解释如何去使用效果库,而是讲解如何创建类似的效果,并保持他的可用性,分离式(unobtrusive)
- 定义本地站点在Dreamweaver中制作网站,您必须定义一个本地站点,它是您的计算机上任意位置的一个
- Update 语句Update 语句用于修改表中的数据。语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值P
- 一、首先你要确认你的鉴别模式:WIN NT鉴别模式呢还是混合模式,其中混合模式包括WIN NT鉴别模式和SQL SERVER 鉴别模式实施鉴
- 以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。bit
- 这次我们讨论的是,区分有单选框的选项和普通的选项~~乍听起来,可能不太理解我说了什么,下面举个例子先~~1、标签的单选~~例如QQ秀的支付流
- 出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-
- 译序:这篇文章是可用性大师 Jakob Nielsen 在10年前总结的,到今天仍然受用。通过这个时间跨度,可以得出,可用性话题不是某个时代
- 修复Access数据库,我们一般使用微软Office 97中带的Access 97对数据库进行修复和整理。Access数据库被损坏分以下几种