中国石凳联盟 登录注册

【原创】一个最简单的Ajax示例

rockage··0 回复·385 浏览

发表回复


首先,想一下,我们用传统的BS结构下,怎样更新客户端的数据?



常规的,设置一个Form,用POST或GET的方法(也可以用“网址?参数=xxx”等方法)提交到服务器,服务器端处理后,再将结果传到客户端浏览器。



问题就在于,客户端的动作无法实时地跟服务器保持同步,客户端和服务器端只能采用“提交”的方式来保持互动。举例而言,现在我们做了一个客户端页面,有一个下拉菜单,客户从这个下拉菜单中选取了一个值,客户端在完成了这个动作之后,事实上服务器端是毫不知觉的,我们要么做一个按钮来“提交”这个值,要么提交动作放在下拉菜单的事件中,总之,提交这个过程不可缺少。并且,每一次“提交”都需要更新全部数据,这实在是很“蠢”效率很低下。



利用一个很简单的Ajax示例,就可以很容易地实现无刷新更新数据。



首先是客户端:



script language="javascript"
!--



function submitme()
{
var httpResponse = new ActiveXObject("Microsoft.XMLHTTP")
httpResponse.open("GET","myfile.xml",true) //异步提交myfile.xml文件,页面本身并不刷新
httpResponse.send(null) //发送提交申请



var response = httpResponse.responseXML.documentElement //提取模式为读取XML节点方式
var test = response.getElementsByTagName("email").firstChild.data//返回Email节点的数据



alert (test) //显示test数据(email)



--
/script



------------------------



myfile.xml文件:



?xml version="1.0" encoding="GB2312"?



myfile
websitewww.stoneren.com/website
emailrockages@gmail.com/email
date20061010/date
/myfile



-------------------------



这只是一个简单的例子,XML文件是现成的,真实的应用下,我们可以动态生成这个文件,简单地,利用ASP的Response.Write就能做到。



试一下,完全没有刷新页面,但是服务器端的值却实实在在地传递了过来!!很奇妙的感觉哦~~



em6:em6:


点赞0 收藏
发表回复
发表回复