|
楼主 |
发表于 2012-12-27 16:10:40
|
显示全部楼层
北京市北京市
本帖最后由 ThePhpMaster 于 2012-12-27 16:18 编辑
LZH2507 发表于 2012-12-21 21:50
项目经理 你脑子没问题吧 吹也要吹个像样的 项目经理 会不知道AJAX是框架 还承诺不使用框架
AJAX是一种技术 一种早就存在的技术 javascript 一个函数就能实现 什么框架?
我就给普及一下AJAX . 现写的 转载注明
XMLHttpRequest XML Http 请求
首先应该创建一个AJAX的对象,由于IE特殊性,IE中的对象与其他浏览器不同,因此要先进行判断;
首先判断,如果有XMLHttpRequest就创建,否则那一定是IE了则创建IE独有的对象. ActiveXObject('Microsoft.XMLHTTP');
最好将上述代码封装成函数
首先创建一个AJAX对象.
然后使用this.open('POST',URL,True)
1为传值的方式POST/GET
2为传递的URL 如果为GET URL应该直接拼接好.
POST直接填提交地址即可,
3参数是是否开启 异步 ture为开,反之为同步.
如果为GET
this.onreadystatechange on在 ready准备 state 状态 change 改变
这是一个回调函数, 准备状态每次增加的时候此函数都会触发此时,让他等于一个函数 函数内写方法就可以判断什么时候该进行什么操作了;
onreadystatechange 的几个状态如下
0 Uninitialized 初始化状态 对象创建成功 或者已经被abort(断开链接)方法重置;
1 Open open方法已经调用,但是send方法没调用.请求还没有被发送
2sent send方法已经调用,请求到了服务器,但是未收到回应.
3 receiving 所有响应头部都已经接收到 ,但是主体部分没有接受完成
4 loaded 全部完成;
readyState 可以读取当前的状态. readyState的值不会递减,除非在处理过程中调用了 abort() 或者 open() 每次属性增加时都会触发这个onreadystatechange事件句柄
回调函数内的方法应该判断状态是否为4也就是接受完成,和判断页面请求的状态 status(返回服务器的状态码 200为成功) 如果二者满足,怎读取 接受到的信息并显示出来 responseText (响应 文本) 获取返回值内容
this.send(null);
如果为POST
需要在send前声明一下即将发送的信息,
this.setRequestHeader('Content-type','application/x-www-form-urlencoded')
然后send内的参数不能为NULL 要为POST的数据 例如 a=1&b=2;
abort 忽略不进行下去 ,中断当前连接
getResponseHeader 获取响应的某个头信息
getAllResponseheaders 获取所有响应的头信息;
|
|