AJAX总结

首先我们必须认识到要作出一个好的网页,AJAX必不可少,应用它可以只更新页面的部分对象,AJAX是一组技术的综合,包括js,xmlrequest,css+div,dom,xml,html,下面说说它们各自的作用吧。
js是实现客户端的数据发送和界面更新,xmlrequest是浏览器内置的用以进行同步数据发送与接受的对象,是AJAX的核心对象,需要说明的是只有IE、FireFox、Netscape支持并且创造对象的方法也不同,dom来得到需要更新的对象,xml用来传递,当然你想让自己的AJAX做的漂亮,必须对css+div精通。
那么写AJAX的流程是啥呢?
首先需要创建XMLHTTPRequest对象,如下代码:
var requst;
function getXMLHTTPRequest(){
   if(Window.ActiveXObject){//如果是IE浏览器
       request=new ActiveXObject("Microsoft.XMLHTTP");
  }else if(Window.XMLHTTPRequest){//如果是FireFox、Netscape浏览器
       request=new XMLHttpRequest();
  }else{
       window.alert("该浏览器不支持AJAX");
  }
}
然后编写回调函数,对于我的理解回调函数就像对监听到服务器的readyState与status的变化状态做相应的处理,演示代码如下:
function proces(){
       if(request.readyState==4)&&(request.status==200)//如果是服务器当前状态已经处理完并且服务器相应成功
        document.getElementById("id").innerHTML=request.responseText;
}
}
再发送异步请求,代码如下:
//发送请求,绑定回调方法
function sendRequest() {
          //创建XMLHTTPRequest对象
          getRequestObject();
          //绑定回调方法,
          request.onreadystatechange=processResult;
           //发送Post请求
          request.open("POST", "servlet/CheckUserNameServlet", true);
          request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          var userName=document.getElementById("id").value;
          //将userName做为请求参数发送上去
          request.send("userName="+userName);
        }
需要强调的是:必须在发送请求前绑定回调函数,也可通过get方式来发送请求,但需在末尾加上request.send(null);如果是发送异步请求需要在open方法的第三个参数设为true
request发送名值对的形式是:request.send("名="+值);
有时需要自动连续发送请求,只需在sendRuest方法后面加上
var autoFlag=setTimeout("sendRequest()", 1000);//设定为每秒种自动请求一次
不过如果不对浏览器的缓存做处理,浏览器迟早会溢出,所以还需在接受请求的servlet类加上      response.setHeader("Cache-Control", "no-cache");设置客户端不要缓存页面内容。

最后摘抄了点C/S与B/S的结构区别

硬件环境不同:
C/S结构一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S结构建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行

对安全要求不同
C/S结构一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S结构建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.

对程序架构不同
C/S结构程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
B/S结构对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.

软件重用不同
C/S结构程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
B/S结构对的多重结构,要求构件相对独立的功能. 能够相对较好的重用。

系统维护不同
C/S结构程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统, 系统维护开销大
B/S结构构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.

处理问题不同
C/S结构程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
B/S结构建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.

用户接口不同
C/S结构多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S结构建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.

信息流不同
C/S结构程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S结构信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心

你可能感兴趣的:(数据结构,C++,Ajax,浏览器,C#)