<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>xmlhttprequest ajax demo</title>
<script type ="text/javascript" language ="javascript" >
var req; //定义变量,用来创建xmlhttprequest对象
function creatReq() // 创建xmlhttprequest,ajax开始
{
var url="ajaxServer.aspx"; //要请求的服务端地址
if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
{
req=new XMLHttpRequest();
}
else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败. {
req=new ActiveXObject("Microsoft.XMLHttp");
}
if(req) //成功创建xmlhttprequest
{
req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callback; //指定回调函数
req.send(null); //发送请求
}
}
function callback() //回调函数,对服务端的响应处理,监视response状态
{
if(req.readystate==4) //请求状态为4表示成功
{
if(req.status==200) //http状态200表示OK
{
Dispaly(); //所有状态成功,执行此函数,显示数据
}
else //http返回状态失败
{
alert("服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
{
document .getElementById ("myTime").innerHTML ="数据加载中";
}
}
function Dispaly() //接受服务端返回的数据,对其进行显示
{
document .getElementById ("myTime").innerHTML =req.responseText;
}
</script>
</head>
<body>
<div id="myTime"></div>
<input id="Button1" type="button" value="Get Time" onclick ="creatReq();"/>
</body>
</html>
对于Ajax需要注意执行 的 顺序
对于input 类型为text的 动作有 onChange() onPropertyChange() 后者比前者的反应 更加的敏感,有可能onChange()不会随着里面的改变而改变,但是onPropertyChange()肯定会随着value的值 改变而改变。
对于返回的值,要把结果写在最后的条件都符合的情况下,就是注意函数的位置。
操作xml的时候 用到的方法 和以前操作xml的是一样的,如getElementsByTagName(),还有.firstChild.data,nodeValue.
Ajax执行的顺序是open,onreadystatechange,send 都是基于流的形式传输。
对于servlet里面 注意 都是 用流的形式进行 传输和取值。resp.setContentType(),里面得相应的设置方式。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zuowangxi/archive/2009/12/30/5104036.aspx
1 楼
jackleaf
2010-01-25
给美女点鼓励。
2 楼
matychen
2010-01-27
jackleaf 写道
给美女点鼓励。
不一定是美女
3 楼
gundumw100
2010-01-28
jackleaf 写道
给美女点鼓励。
是美女的男朋友在发帖。
4 楼
aoliwen521
2010-01-28
就算是美女,也不能给良好贴吧??大家做事还是要有原则!!
5 楼
Javac_MyLife
2010-01-28
demo级别?。。
6 楼
bcsj123
2010-01-28
学习了。。
7 楼
hommy8
2010-01-29
高手 高手
8 楼
mornstar
2010-01-29
oh, my.不用JQuery?
9 楼
yipbxx
2010-01-29
有强大的JS框架不用真浪费
10 楼
javajdbc
2010-01-29
学习啦 受益
THANK YOU LZ...
THANK YOU LZ...
11 楼
刃之舞
2010-01-29
mornstar 写道
oh, my.不用JQuery?
xmlhttprequest 有这个对象用已经很幸福了
没这个对象只能用隐藏帧搞ajax
12 楼
rjzou2006
2010-01-30
美女我来啦。
13 楼
zuowangxi
2010-01-30
呃。。。
首先申明,这个是我们在学习Ajax的时候老师说过的,我只是把这个自己实际动手做过的整理下,也方便自己以后学习!
首先申明,这个是我们在学习Ajax的时候老师说过的,我只是把这个自己实际动手做过的整理下,也方便自己以后学习!
14 楼
showr
2010-01-31
如果是jsp的话,你这样会不会有点问题啊?
当有参数并且是中文的时候
应该会有乱码
在 send({参数}) 前面设置下 参数格式及编码 。。。
不过要是用jquery的话,真是超级简单
$.post(utl,params,function(result){
alert(result);
}
);
当有参数并且是中文的时候
应该会有乱码
在 send({参数}) 前面设置下 参数格式及编码 。。。
不过要是用jquery的话,真是超级简单
$.post(utl,params,function(result){
alert(result);
}
);
15 楼
zuowangxi
2010-02-02
post(utl,params,function(result){
alert(result
呵呵。你说的对,如果是中文的话确实需要2次编码URI,不然确实会出现乱码
这篇文章也只是简单的说了一下Ajax的简单用法。
jQuery这些框架用起来肯定很简单,(*^__^*)
alert(result
showr 写道
如果是jsp的话,你这样会不会有点问题啊?
当有参数并且是中文的时候
应该会有乱码
在 send({参数}) 前面设置下 参数格式及编码 。。。
不过要是用jquery的话,真是超级简单
$.post(utl,params,function(result){
alert(result);
}
);
当有参数并且是中文的时候
应该会有乱码
在 send({参数}) 前面设置下 参数格式及编码 。。。
不过要是用jquery的话,真是超级简单
$.post(utl,params,function(result){
alert(result);
}
);
呵呵。你说的对,如果是中文的话确实需要2次编码URI,不然确实会出现乱码
这篇文章也只是简单的说了一下Ajax的简单用法。
jQuery这些框架用起来肯定很简单,(*^__^*)
16 楼
345161974
2010-02-16
刚学习Ajax,路过,看着挺适合新手学习的,支持下