当前位置: 网学 > 编程文档 > Ajax > 正文

Ajax的内部实现机制、原理与实践小结

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/11
(''There was a problem with the request.'');
}
}
}

解释:首先创建一个XMLHttpRequest对象http_request,如果支持window.XMLHttpRequest,则用new XMLHttpRequest() 来创建此对象。这条语句针对 Firefox、Opera 以及 Safari 浏览器,如果不支持,则尝试针对Internet Explorer 6.0+ 的Msxml2.XMLHTTP组件创建XMLHttpRequest,如果也不支持,则尝试针对 Internet Explorer 5.5+ 的Microsoft.XMLHTTP组件,如果仍然不支持,则说明用户的浏览器版本太低了,提示用户“您的浏览器不支持AJAX”。
XMLHttpRequest对象的onreadystatechange方法用于,状态改变时要执行的方法,用来处理这个响应。
readyState的状态是:
  0 请求未初始化(open() 之前)
  1 请求已提出,正在装载 (调用 send() 之前)
  2 装载完毕,请求已发送(这里通常可以从响应得到内容头部)
  3 交互中,请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)
  4 请求已完成(可以访问服务器响应并使用它)
所以当readyState等于4时,就表示一个完整的服务器响应已经收到了,接着,函数会检查HTTP服务器响应的状态值。当HTTP服务器响应的值为200时,表示状态正常。这时候才真正执行客户端要执行的操作。
读取从服务器返回过来的数据,有两种方式:
  1、http_request.responseText:以文本字符串的方式返回服务器的响应
  2、http_request.responseXML:以XMLDocument对象方式返回响应

五、Ajax缺陷与不足
1、可能破坏浏览器后退按钮的正常行为;
2、使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中;
3、Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰——用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;
4、一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax。

六、Ajax工具

1、jQuery 开源JS框架,写得更少,做得更多;
2、ASP.NET AJAX Extension 微软AJAX工具箱;
3、ExtJS 一个自YUI延伸出来的Ajax框架。

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号