过江的博客
随笔 - 159 文章 - 1 评论 - 202
博客园
首页
新随笔
管理
订阅
Ajax系列(1)XMLHttpRequest使用
提到AJAX,就不得不说到XmlHttpRequest,他可是AJAX得核心,现在很多浏览器都支持XmlHttpRequest,主要有两类。一类是以微软得IE为代表:他是以ACTIVEX组件得形式实现了XmlHttpRequest.,另一类FIREFOX为代表,他是以原生得JAVASCRIT形式提供的(至于真正是怎样的区别,我不知道,希望知道的指教下)。所以在创建XmlHttpRequest同时,经常要检验是哪种类型的浏览器。
if
(window.XMLHttpRequest)
{
//
Mozilla 浏览器
http_request
=
new
XMLHttpRequest();
if
(http_request.overrideMimeType)
{
//
设置MiME类别
http_request.overrideMimeType(
'
text/xml
'
);
}
}
else
if
(window.ActiveXObject)
{
//
IE浏览器
try
{
http_request
=
new
ActiveXObject(
"
Msxml2.XMLHTTP
"
);
}
catch
(e)
{
try
{
http_request
=
new
ActiveXObject(
"
Microsoft.XMLHTTP
"
);
}
catch
(e)
{}
}
}
以上就是要判断是哪种类型的浏览器,但也许有人要问IE浏览器哪里为什么还有个判断,那是因为在IE5以前和后用的方式不一样。
还有两个重要的函数是:
http_request.open("GET", url, true); // 确定发送请求的方式和URL以及是否同步执行下段代码
// 确定发送请求的方式和URL以及是否同步执行下段代码,第一个参数是请求类型:POST,GET,PUT。
第二个参数是传递的地址。第三个参数是决定是否要以异步的形式传送,默认为TRUE
和 http_request.send(null);他是吧请求发送给服务器。
完整的HTML代码
<%
@ Page language
=
"
c#
"
Codebehind
=
"
WebForm1.aspx.cs
"
AutoEventWireup
=
"
false
"
Inherits
=
"
ajax.WebForm1
"
%>
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.0 Transitional//EN
"
>
<
HTML
>
<
HEAD
>
<
title
>
WebForm1
</
title
>
<
meta name
=
"
GENERATOR
"
Content
=
"
Microsoft Visual Studio .NET 7.1
"
>
<
meta name
=
"
CODE_LANGUAGE
"
Content
=
"
C#
"
>
<
meta name
=
"
vs_defaultClientScript
"
content
=
"
JavaScript
"
>
<
meta name
=
"
vs_targetSchema
"
content
=
"
http://schemas.microsoft.com/intellisense/ie5
"
>
<
script language
=
"
javascript
"
>
var http_request
=
false
;
function send_request(url)
{
//
初始化、指定处理函数、发送请求的函数
http_request
=
false
;
/**/
///
alert("1");
//
开始初始化XMLHttpRequest对象
if
(window.XMLHttpRequest)
{
//
Mozilla 浏览器
http_request
=
new
XMLHttpRequest();
if
(http_request.overrideMimeType)
{
//
设置MiME类别
http_request.overrideMimeType(
'
text/xml
'
);
}
}
else
if
(window.ActiveXObject)
{
//
IE浏览器
try
{
http_request
=
new
ActiveXObject(
"
Msxml2.XMLHTTP
"
);
}
catch
(e)
{
try
{
http_request
=
new
ActiveXObject(
"
Microsoft.XMLHTTP
"
);
}
catch
(e)
{}
}
}
if
(
!
http_request)
{
//
异常,创建对象实例失败
window.alert(
"
不能创建XMLHttpRequest对象实例.
"
);
return
false
;
}
http_request.onreadystatechange
=
processRequest;
//
确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open(
"
GET
"
, url,
true
);
http_request.send(
null
);
}
//
处理返回信息的函数
function processRequest()
{
if
(http_request.readyState
==
4
)
{
//
判断对象状态
if
(http_request.status
==
200
)
{
//
信息已经成功返回,开始处理信息
alert(http_request.responseText);
}
else
{
//
页面不正常
alert(
"
您所请求的页面有异常。
"
);
}
}
}
function userCheck()
{
var f
=
document.form1;
var username
=
f.username.value;
if
(username
==
""
)
{
window.alert(
"
用户名不能为空。
"
);
f.username.focus();
return
false
;
}
else
{
alert(username);
send_request(
'
Back.aspx?username=
'
+
username);
}
}
</
script
>
<
link href
=
"
css/style.css
"
rel
=
"
stylesheet
"
type
=
"
text/css
"
>
</
HEAD
>
<
body
>
<
form name
=
"
form1
"
action
=
""
method
=
"
post
"
>
用户名:
<
input type
=
"
text
"
name
=
"
username
"
value
=
""
>&
nbsp;
<
input type
=
"
button
"
name
=
"
check
"
value
=
"
唯一性检查
"
onClick
=
"
userCheck()
"
>
<
input type
=
"
submit
"
name
=
"
submit
"
value
=
"
提交
"
>
</
form
>
<!--
span style
=
"
cursor: pointer; text-decoration: underline
"
onclick
=
"
send_request('2.jsp?username=educhina')
"
>
Send a request
</
span
-->
</
body
>
</
HTML
>
今天就写到这里,明天继续。
posted on 2007-03-06 20:07
过江
阅读(273)
评论(0)
编辑
收藏
网摘
所属分类:
Ajax
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-03-25 20:45 编辑过
Google站内搜索
相关文章:
相关链接:
所属分类的其他文章:
Ajax返回数据集绑定DropDownList
Ajax在vs2003的实例以及动态连接库
Ajax(9)Accordion的使用方法
Ajax(8)PasswordStrength的用法
Ajax(8)PasswordStrength的用法
Ajax(7)Timer控件使用
Ajax(6)UpdateProgress使用方法
Ajax(5)UpdatePanel的使用方法
Ajax系列(4)ScriptManager的使用方法
Ajax(3),在vs2003使用Ajax实例
最新IT新闻:
应用程序架构指导包2.0 Beta 2发布
推波助澜 微软推出“I'm a PC”商店
火狐中国版正式发布
微软:中国移动全球率先使用IE Mobile 6
消息汇总:迅雷人事变动 员工与公关部说法大相径庭
<
2007年3月
>
日
一
二
三
四
五
六
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
与我联系
发短消息
搜索
我的标签
Team Foundation Server
(1)
TFS
(1)
VSTS
(1)
随笔分类
(161)
.net Remoting(9)
Ajax(13)
asp.net2003 C#经典方法(57)
CodeSmith使用实例(13)
EXCEL、WORD与SQL(12)
JavaScript、Css(17)
Log4Net入门介绍(1)
MSMQ(3)
ORM框架使用实例(4)
PowerDesigner
Vs2005 C#(14)
WebService(5)
XSLT、XML(2)
版本管理软件(VSS,SVN等)(4)
单元测试(1)
感悟人生(6)
随笔档案
(159)
2008年10月 (1)
2008年9月 (1)
2008年8月 (1)
2008年5月 (1)
2008年2月 (1)
2007年10月 (1)
2007年9月 (2)
2007年8月 (10)
2007年7月 (17)
2007年6月 (22)
2007年5月 (22)
2007年4月 (26)
2007年3月 (16)
2006年11月 (1)
2006年10月 (5)
2006年9月 (1)
2006年8月 (6)
2006年6月 (25)
积分与排名
积分 - 62090
排名 - 753
最新随笔
1. TFS 安装手册以及常用问题解决方法
2. SQL server 系统优化--通过执行计划优化索引(1) (转)
3. .Net新建、卸载、调试Windows服务
4. 请问在用C#+Mapx开始,怎样根据图元名称获得该图元已经选中的图元
5. C#基础:ref和out的区别
6. 仿163邮箱的alert提示,beta1.1 (转)
7. 好久都没有写东西了
8. 终于用上CodeSmith4.0了,跟大家一起分享
9. XSLT基本语法和第一个实例
10. 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)(转)
最新评论
1. re: 聊天程序(转)
谢谢了
--yfshg