← 回到文章列表

Hello Ajax Day01

1、ajax是什么?(asynchronous javascript and xml) 异步的javascript和xml。 在传统(没有使用ajax技术)的web应用当中, 当用户点击提交按钮,提交了某个页面,此时, 浏览器会将表单中的数据打包之后发送给服务器, 同时,浏览器会…

1、ajax是什么?(asynchronous javascript and xml)
异步的javascript和xml。
在传统(没有使用ajax技术)的web应用当中,
当用户点击提交按钮,提交了某个页面,此时,
浏览器会将表单中的数据打包之后发送给服务器,
同时,浏览器会将整个页面销毁。用户只能等

待服务器返回一个新的页面,不能做其它任何事情。
为了解决传统的web应用当中的"等待-响应-等待“
的弊端,需要浏览器可以通过异步的方式向服务器
发请求。ajax技术可以让浏览器异步地向服务器发
请求:其本质是通过浏览器内置的一个对象(
XmlHttpRequest)异步地向服务器发请求(发送请求
的同时,浏览器不会销毁之前的页面,此时,用户
仍然可以对之前的页面做其它的操作,也就是说,
不打断用户的操作)。服务器返回一些数据(不是一个
新的页面,是部分的数据)给XmlHttpRequest对象,
接下来,通过dom操作(需要使用服务器
返回的数据,可以通过XmlHttpRequest对象获得),
来更新页面。整个过程,页面无刷新。

2、ajax编程\

  1. XmlHttpRequest对象:
    a,如何获得XmlHttpRequet对象
    因为XmlHttpRequest没有标准化,所以
    要区分浏览器来获得该对象。
    function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest){
    //非ie浏览器
    xhr = new XMLHttpRequest();
    }else{
    //ie浏览器
    xhr = new ActiveXObject(“Microsoft.XMLhttp”);
    }
    return xhr;
    }
    b,常用的属性
    onreadystatechange:注册监听器(即给
    XmlHttpRequest对象绑订事件处理代码)。
    responseText:获得服务器返回的文本数据。
    responseXML:获得服务器返回的xml数据。
    status:获得状态码
    readyState:XmlHttpRequest对象与服务器通讯
    过程当中的状态,其值是一个整数(0,1,2,3,4),
    比如当值为4时,表示该对象已经接收到了
    服务器返回的所有数据。
    2)编程步骤:
    step1 获得XmlHttpRequest对象
    var xhr = getXhr();
    step2 发送请求
    a,发送get请求
    //open方法有三个参数:
    //第一个参数:请求方式 get,post
    //第二个参数:请求地址,如果是get请求,请求
    //参数要加在请求地址后面。
    //第三个参数:true表示异步请求,false同步请求。
    xhr.open(‘get’,‘check_name.do?name=zs’,true);
    //注册一个监听器
    xhr.onreadystatechange=f1;
    xhr.send(null);
    b,发送post请求
    xhr.open(‘post’);
    …
    step3 服务器端编写处理请求的代码
    step4 在监听器当中,处理服务器返回的数据,
    一般是通过XmlHttpRequest获得数据之后,更
    新页面。
    function f1(){
    //只有状态为4时,才能正确地接收服务器
    //返回的数据
    if(xhr.readyState == 4){
    //获得服务器返回的文本数据
    var txt = xhr.responseText;
    //通过dom,更新页面
    …
    }
    }

[媒体不可用]
[媒体不可用]

[媒体不可用]
课堂内容

在这里找找

输入关键词,找一篇过去的记录。