Ajax理解-ajax笔记

来源:互联网 发布:手机淘宝可以比价吗 编辑:程序博客网 时间:2024/05/17 02:50


AJAX简介
    1、AJAX= Asynchronous JavaScript And XML,异步JavaScript 及 XML
    2、AJAX 不是一种新技术,而是一种旧技术的新用法,它是基于 JavaScript 和 HTTP 请求的
    3、AJAX产生的目的是实现页面的局部刷新。通过在后台与服务器进行少量数据交换,AJAX 可以使网页
       实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。


传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页,造成程序性能的降低 


AJAX技术的核心是XMLHttpRequest对象,通过该对象发送异步请求和处理响应
     此对象最早在IE5中以ActiveX组件( ActiveXObject )的形式出现,2005年之后得到广泛应用,
     目前IE5、IE6都使用这个对象,在IE7以上、FireFox内核浏览器中直接使用XMLHttpRequest对象  






客户端和服务器的交互方式:
同步/异步


AJAX的特点:
异步交互,局部刷新。


AJAX并不是一门新的技术,而是去使用一些老的技术去实现一个新的web应用程序访问的效果(异步访问);


使用到的技术:
html
css
javascript
xml
dom
servlet/jsp
……
在使用javascript去完成AJAX的异步交互,局部刷新的效果的时候,在这个过程中,有一个最核心的对象,就是
XMLHttpRequest。没有这个对象,你在javascript中是完成不了,异步请求的发生的。


javascript和AJAX的关系:
//描述的不好::我们可以使用javascript去完成AJAX这种异步交互,局部刷新的web应用访问效果


使用javascript将以上技术融合在一起,然后达到AJAX这种异步交互,局部刷新的web应用访问的效果。




异步交互,主要依赖XMLHttpRequest对象的操作。
使用XMLHttpRequest对象来实现异步交互的效果。




XMLHttpRequest对象最早在ie浏览器中,后面其他各大浏览器中也都加入了对这个对象的支持,但是不同的浏览器
中对这个对象的实现方式有所不同,同时也有一些浏览器(小众)不支持这个对象。


(javascript)(ajax)局部刷新,主要依赖dom操作。


(javascript)(ajax)使用dom来实现局部刷新的效果。


dom: document object  model (文档对象模型)使用面向对象的思想,把一个文档(xml、html等)中的元素用对象的
方式表现出来。(整个文档(document对象) 其中的结点(element对象))


在(javascript)中使用DOM所做的事情:


1.在(javascript)中使用DOM不仅可以实现页面中局部刷新的效果,


2.还可以用DOM来解析一下服务器传过来的xml文档,
在局部交互的过程中,服务器很多时间都会以xml文件的形式把数据返回给页面,然后页面中的javascript代码
就能接受到了




由于不同浏览器对XMLHttpRequest的支持不一样
所以我们把浏览器分为三种:
1,IE
2,支持XMLHttpRequest的浏览器
3,不支持XMLHttpRequest的浏览器。




XMLHttpRequest
//判断是否是IE浏览器
var xmlHttpRequest=null;
//if(window.ActiveXObject){
//xmlHttpRequest=new XMLHttpRequest("Microsoft.XMLHTTP");
//
//}else if(window.XMLHttpRequest){
       //xmlHttpRequest=new XMLHttpRequest();

//}
//判断除了ie还支持这个对象的浏览器
if(window.XMLHttpRequest){


          xmlHttpRequest=new XMLHttpRequest();

}else if(window.ActiveXObject){


         xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
//不支持这个对象。
else{
      alert("你使用的浏览器暂不支持XMLHttpRequest对象");

}












XMLHttpRequest对象应用


readyState属性】
返回当前的请求状态,有5个值,分别是:
 0:请求未初始化(在调用open()函数之前)
 1:请求服务器连接已建立,但没有发出(在调用send()之前)
 2:请求已发出,服务器处理中
 3:请求已处理,正在接收服务器响应信息,但是服务器尚未完成响应
 4:响应已完成,可以访问服务器的响应
【status属性】返回当前请求的HTTP状态码
 200:正常,OK
 404:未找到页面


【onreadystatechange事件】
 每当 readyState 改变时,就会触发 onreadystatechange 事件
 用来为onreadystatechange 事件注册一个函数(称回调函数),每当 readyState 属性改变时,就会调用该函数
【open()函数】open函数可以有3个参数,规定请求的类型、URL 以及是否异步处理请求,其参数顺序如下:
open(method,url,async)
? method:请求的类型,GET 或 POST 
? url:要异步请求的服务器上的文件 ,可以是JSP、Servlet、html、txt类型的
? async:true(异步)或 false(同步),缺省为true,建议缺省 

0 0
原创粉丝点击