Ajax学习笔记
来源:互联网 发布:怎样赢网络棋牌机器人 编辑:程序博客网 时间:2024/06/13 05:02
最近在学习Ajax,怎么说呢,应该学的东西一点都不能偷懒,最后还是要学习的!谁让我的目标是成为前端大白呢?哈哈~
Ajax是对Asynchronous Javascript XML的简写。Ajax技术的核心是XMLHttpRequest对象,简称为XHR。XHR为向服务器发送请求和解析服务器响应提供了流畅的接口。能够以异步方式从服务器获得更多的信息,简单的来说,就是当用户点击之后,可以不必刷新页面也能取得新数据。流程就是,首先使用XHR对象取得新的数据,然后再通过DOM将新数据插入到页面中。很重要的一点,Ajax通信与数据格式无关,不一定必须是XML数据。那么下面要讲的就是大名鼎鼎的XHR啦。
XMLHttpRequest对象
- 第一步来创建一个XHR对象吧。IE7是一条分界线。
(1)在IE7之前的版本创建XHR对象很复杂,先上代码吧。
<script type="text/javascript"> function createXHR(){ //callee是一个指针,指向拥有这个arguments的函数,activeXString只是一个自定义属性,仅此而已 if(typeof arguments.callee.activeXString!="string"){ //在IE5中,XHR对象是通过MSXML库中的ActiveX对象实现的 //IE7以下版本,可能会遇到三种不同版本的的XHR对象,"MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXMLHttp" var versions=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXMLHttp"], i,len; //从最高版本开始创建,如果创建失败,就被catch抓住,不处理,继续循环 for(i=0,len=versions.length;i<len;i++){ try{ new ActiveXObject(versions[i]); arguments.callee.activeXString=versions[i]; break; }catch(ex){ //跳过 } } } return new ActiveXObject(arguments.callee.activeXString); }</script>
(2)IE7+,Firefox、Opera、Chrome和Safari都已经支持原生的XHR对象,这时创建XHR对象就简单多啦,一句话搞定。
var xhr=new XMLHttpRequest();
(3)如果我们考虑到浏览器的兼容性,这时创建代码就应该是(1)和(2)的组合版。
<script type="text/javascript"> function createXHR(){ if(typeof XMLHttpRequest !="undefined"){ return new XMLHttpRequest(); }else if(typeof ActiveXObject !="undefined"){//如果原生对象不存在,检测ActiveX对象是否存在 if(typeof arguments.callee.activeXString!="string"){ var versions=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXMLHttp"], i,len; for(i=0,len=versions.length;i<len;i++){ try{ new ActiveXObject(versions[i]); arguments.callee.activeXString=versions[i]; break; }catch(ex){ //跳过 } } } return new ActiveXObject(arguments.callee.activeXString); }else{ throw new Errors("No XHR abject available.");//连个对象都不存在,返回错误 } } var xhr=createXHR();</script>
2.XHR的用法
讲完了创建下面就开始使用这个对象了。在使用XHR对象时,要
0 0
- ajax学习笔记---什么是Ajax
- [ajax 学习笔记] ajax初试
- Ajax学习笔记-Ajax数据格式
- AJAX学习笔记--慕课网Ajax
- Ajax学习笔记(一)
- Ajax学习笔记(二)
- Ajax学习笔记(三)
- Ajax学习笔记(四)
- Ajax学习笔记(五)
- Ajax学习笔记(六)
- Ajax学习笔记
- Ajax 学习笔记(1)
- Ajax 学习笔记(2)
- Ajax 学习笔记(3)
- Ajax Gossip学习笔记
- AJAX学习笔记--从零开始
- Ajax 学习笔记
- ajax学习笔记
- javascript除法如何取整
- Ubuntu下通过wine安装SourceInsight
- 类加载机制详解
- java反射
- jQuery弹性滑动导航菜单
- Ajax学习笔记
- jquery ui tab ajax 切换,默认选中第一个(序号为0)
- iOS键盘类型
- 使用highcharts,本处使用了column柱形图,较简单
- 串口驱动之写操作
- 搜索,还是Google吧
- 获取每个月的最后一天的当前日期以及前一个月的当前日期,外加23:59:59
- 链式表的按序号查找
- CodeForces 449 D.Jzzhu and Numbers(状压DP+容斥原理)