Ajax(@H_301_4@英文缩写:@H_301_4@Asynchronous JavaScript And XML@H_301_4@,即异步@H_301_4@JavaScript@H_301_4@和@H_301_4@XML)@H_301_4@,把用户和@H_301_4@Web@H_301_4@页面间的交互与@H_301_4@Web@H_301_4@浏览器和服务器间的通信分离开来。@H_301_4@@H_301_4@@H_301_4@
对比@H_301_4@
@H_301_4@@H_301_4@@H_301_4@
用户交互方式@H_301_4@@H_301_4@@H_301_4@
传统的@H_301_4@Web@H_301_4@应用:用户点击链接或按钮,向服务器端提出请求,用户需要等待服务器的响应,服务器端开始进行相应的处理,处理完成之后,把响应的结果通过一个新的@H_301_4@HTML@H_301_4@页面返回给用户。@H_301_4@@H_301_4@@H_301_4@
传统Web应用,称为同步交互方式。用户每进行一个操作,都要等待服务器的响应过程。@H_301_4@@H_301_4@
Ajax应用方式:称为异步方式。用户向服务器端提交请求后,不需要等待服务器的响应,可以继续自己的用户体验。当服务端进行了相应处理之后,返回给浏览器,会有XMLHTTPRequest接收返回的数据结果,并将响应的结果呈现给用户。@H_301_4@@H_301_4@
服务器和客户端的工作量@H_301_4@@H_301_4@
传统Web程序,服务器端承担大量的工作,客户端只有数据显示的功能。@H_301_4@@H_301_4@
Ajax应用程序,客户端界面和Ajax引擎都是在客户端运行,这样可以将一些服务器工作在Ajax引擎处实现。@H_301_4@@H_301_4@
@H_301_4@@H_301_4@@H_301_4@
A@H_301_4@页面@H_301_4@->B@H_301_4@页面@H_301_4@->A@H_301_4@页面@H_301_4@@H_301_4@@H_301_4@ 1. 页面代码简单@H_301_4@@H_301_4@@H_301_4@ 2. Submit@H_301_4@按钮提交数据,表单管理数据@H_301_4@@H_301_4@@H_301_4@ 3. Input@H_301_4@中定义@H_301_4@name@H_301_4@属性@H_301_4@@H_301_4@@H_301_4@ 1. 页面代码量大@H_301_4@@H_301_4@@H_301_4@ 2. 通过@H_301_4@button@H_301_4@的一个@H_301_4@onclick@H_301_4@事件转向@H_301_4@js@H_301_4@的方法,然后通过编写@H_301_4@js@H_301_4@代码来获取数据,发送数据,接收数据@H_301_4@@H_301_4@@H_301_4@ 3. Input@H_301_4@中定义@H_301_4@id@H_301_4@属性@H_301_4@@H_301_4@@H_301_4@ 4. 页面中预留了@H_301_4@div@H_301_4@标签,自己编写@H_301_4@js@H_301_4@代码将@H_301_4@div@H_301_4@中的内容更新@H_301_4@@H_301_4@@H_301_4@ 接收请求数据@H_301_4@@H_301_4@@H_301_4@ 进行校验操作@H_301_4@@H_301_4@@H_301_4@ 1.ajax通信常常是一个数据片段,例如,xml.html片段,或者纯文本,这些信息不是完整的html文档,而且通过后台来异步获取,不能被搜索引擎发现并缓存.@H_301_4@@H_301_4@ 2.ajax将大量的运算从服务器端转移到了客户端,意味着浏览器将承受更大的负担,不再是简单的文档显示。@H_301_4@@H_301_4@用户体验@H_301_4@@H_301_4@@H_301_4@
页面端@H_301_4@@H_301_4@@H_301_4@
服务器端@H_301_4@@H_301_4@@H_301_4@
Ajax@H_301_4@缺点:@H_301_4@@H_301_4@@H_301_4@@H_301_4@