Ajax学习笔记-1.什么是Ajax

首先,我需要说明的是,我的笔记全部都是基于韩顺平老师讲解的《Ajax技术视频》所写,我写的笔记只是为了强化自己的学习过程,加深对知识点的理解,顺便也对自己深入技术细节上的一个督促。
而且,第一次做笔记,写的会比较乱,如果您看到了这个帖子,还请勿喷!
我在后面会公布我看的视频教程的下载路径,方便您自己学习!
 
1.什么是Ajax(What)

ajax是Asynchronous Javascript And XML的简称,它是一个创建交互式网页应用的网页开发技术。其结合了和其中技术的使用:javascript、xml、xstl、xhtml、dom、xmlhttprequest、css。其实是七种技术的粘合剂。

 
2.它用在哪里(Where)
Ajax是一个与服务器端无关的技术,可以使用在php、javaee、.net网站中使用。
 
3.其他
XMLHttpRequest:简称XHR,中文名可解释为可扩展超文本传输技术。
XML可扩展标记语言,Http超文本传输协议,Request请求
XMLHTTPRequest对象可以在不完整刷新整个页面的情况下,实现局部更新网页。
Ajax需要达到异步传输数据的目的,其必须建立在XHR技术之上。
下面是XHR的常用的属性和方法:
 

属性

说明

readyState

表示XMLHttpRequest对象的状态:0:未初始化。对象已创建,未调用open

1open方法成功调用,但Sendf方法未调用;

2send方法已经调用,尚未开始接受数据;

3:正在接受数据。Http响应头信息已经接受,但尚未接收完成;

4:完成,即响应数据接受完成。

Onreadystatechange

请求状态改变的事件触发器(readyState变化时会调用这个属性上注册的javascript函数)。

responseText

服务器响应的文本内容

responseXML

服务器响应的XML内容对应的DOM对象

Status

服务器返回的http状态码。200表示“成功”,404表示“未找到”,500表示“服务器内部错误”等。

statusText

服务器返回状态的文本信息。

 

方法

说明

Open(string method,string url,boolean asynch,

String username,string password)

指定和服务器端交互的HTTP方法,URL地址,即其他请求信息;

Method:表示http请求方法,一般使用"GET","POST".

url:表示请求的服务器的地址;

asynch:表示是否采用异步方法,true为异步,false为同步;

后边两个可以不指定,usernamepassword分别表示用户名和密码,提供http认证机制需要的用户名和密码。

Send(content)

向服务器发出请求,如果采用异步方式,该方法会立即返回。

content可以指定为null表示不发送数据,其内容可以是DOM对象,输入流或字符串。

SetRequestHeader(String header,String Value)

设置HTTP请求中的指定头部header的值为value.

此方法需在open方法以后调用,一般在post方式中使用。

getAllResponseHeaders()

返回包含Http的所有响应头信息,其中相应头包括Content-length,date,uri等内容。

返回值是一个字符串,包含所有头信息,其中每个键名和键值用冒号分开,每一组键之间用CRLF(回车加换行符)来分隔!

getResponseHeader(String header)

返回HTTP响应头中指定的键名header对应的值

Abort()

停止当前http请求。对应的XMLHttpRequest对象会复位到未初始化的状态。

 典型的代码如下:
function CreateXmlHttp() {

    //非IE浏览器创建XmlHttpRequest对象
    if (window.XmlHttpRequest) {
        xmlhttp = new XmlHttpRequest();
    }

    //IE浏览器创建XmlHttpRequest对象
    if (window.ActiveXObject) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            try {
                xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
            }
            catch (ex) { }
        }
    }
}

function Ustbwuyi() {

    var data = document.getElementById("username").value;
    CreateXmlHttp();
    if (!xmlhttp) {
        alert("创建xmlhttp对象异常!");
        return false;
    }

    xmlhttp.open("POST", url, false);

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4) {
            document.getElementById("user1").innerHTML = "数据正在加载...";
            if (xmlhttp.status == 200) {
                document.write(xmlhttp.responseText);
            }
        }
    }
    xmlhttp.send();
}

  

《Ajax技术视频》的下载地址:
http://pan.baidu.com/s/1jHo54km

posted on 2016-02-04 14:04  偷泥巴  阅读(144)  评论(0编辑  收藏  举报

导航