Ajax简介与实例

  Ajax(Asunchronous JavaScript + XML)是有HTML、JavaScript技术、DHTML和DOM技术组成,使用它可以构建更为动态和响应更灵敏的Web应用程序。Ajax技术的关键在于浏览器端和响应更灵敏的Web应用程序。Ajax技术的关键在于对浏览气端和响应更灵敏的Web应用程序。Ajax技术的关键在于对浏览器端的JavaScript、DHTML和与服务器异步通信的组合。这一技术可以将笨拙的Web界面转化成交互性的Ajax应用程序。

  Ajax的核心是JavaScript对象XmlHttpRequest。该对象在IE5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest可以使用JavaScript想服务器提出请求并处理响应,而不阻塞用户在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。

 

Ajax应用程序用到的基本技术有:

1、HTML用于建立Web表单并确定应用程序其他部分使用的字段。

2、JavaScript代码是运行Ajax应用程序的核心代码,帮组改进与服务器应用程序的通信。

3、DHTML用于动态更新表单,若使用div、span和其他动态HTML元素来标记HTML。

4、文档对象模型DOM用于通过JavaScript处理HTML结构和服务器返回的XML或其他数据。

 

使用Ajax可以完成的功能有:

1、动态更新当前页面的显示信息,如购物车的物品总数,无需用户单击更新并等待服务器重新发送整个页面。

2、提升网站的性能,通过减少从服务器下载的数据量而实现提高网络性能。

3、避免每次用户输入时页面刷新,直接编辑表格数据而不是要求用户导航到新的页面来编辑数据。

 Ajax基本思想就是把JavaScript技术和XMLHttpRequest对象放在Web表单和服务器之间。当用户填写表单时,数据发送给特定JavaScript代码而不直接发送给服务器,相反,JavaScript代码捕获表单数据并向JavaScript代码在幕后发送情切,用户甚至不知道请求的发出,而且请求是一步发送,就是说,JavaScript代码不用等待服务器的响应,因此用户可以继续输入数据、滚动屏幕和使用应用程序。 服务器将数据返回Java代码,JavaScript代码决定如何处理这些数据。它可以迅速更新表单数据。让人感觉应用程序是立即完成的,表单没有提交或刷新而用户得到了数据,JavaScript代码甚至全可以对收到的数据执行某种计算,在发送另一个请求,完全不需要用户干预,这个就是XMLHttpRequest的强大之处。

 

 

获取XMLHttpRequest对象:

使用Microsoft浏览器IE,Microsoft浏览器IE使用MSXML解析处理XML,因此如果编写的Ajax应用程序要和Internet Explorer打交道,那么必须用一种特殊的方式创建对象,但并不是这么简单,根据Internet Explorer中安装的版本,因此必须对这两种情况分别编写代码。下面就是创建XMLHttpRequest对象的通用代码:

 

 

Ajax的基本请求/响应模式:

1.当创建了一个XMLHttpRequest对象后,就可以应用来处理服务器请求。首先需要一个Web页面能够调用JavaScript方法。Ajax应用程序处理请求流程为:

  1.从Web表单中获取需要的数据。

  2.建立要连接的URL。

  3.打开连到服务器的连接

  4.设置服务器在完成后要运行的函数。

  5.发送请求。

具体代码开发代码如下:

 

    

处理响应:
1.发送请求后,进入等待服务器的响应,知道xmlHttp.readyState属性的值等于4.服务器将把响应填充到xmlHttp.requestText属性中,其中的第一点是就绪状态米之遥检查一个特定的值为4就表明服务器已处理完成请求的响应,第二点就是使用xmlHttp.responseTexts属性获得服务器的响应,XmlHttpRequest对象属性有:
1.onreadystatechange:每次状态改变所触发事件的事件处理程序。
2.readyState:对象状态值,状态值得含义如下:
  0 = 未初始化(uninitialized) 1 = 正在加载(loading)2 = 加载完毕(loaded) 3 = 交互(interactive) 4 = 完成(complete)
3.resposeText:从服务器进程返回的数据的字符串形式。
4.responseXML:从服务器进程返回的DMO兼容的文档数据对象。
5.status:从服务器返回的数字代码,比如404(未找到)或200(就绪)
6.statusText:伴随状态码得字符串信息。

下面就是处理服务器响应的例子,代码如下:
function refreshPage(){
 if(xmlHttp.readyState == 4){
   if(xmlHttp.status == 200){

   //处理代码  

}

 

}
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值