ajax-理解

来源:互联网 发布:刷机软件下载 编辑:程序博客网 时间:2024/06/05 00:53

//页面下拉列表 Ajax - begin
var xmlhttp=null;
var ElementId ="";//全局变量,用于存储要捕获的节点id
//检查浏览器版本创建对象, start
function createXMLHttpObject() {
    if (window.XMLHttpRequest) {// code for all new browsers
        xmlhttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {// code for IE5 and IE6
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
   
}
//检查浏览器版本不需要理解, end.
//Ajax... Being
//第一个参数:目标地址(php,java都可以)
//第二个:id
//第三个:要显示出来的节点id,!!只能为一个!!
function getData(ActionURL,id,MyElementId) {
    ElementId = MyElementId;
    //alert(MyElementId);
    createXMLHttpObject();
    //声明一个路径
    var url= ActionURL+"?id="+id;
    //检测浏览器版本...不需要理解,
    if (xmlhttp != null) {
        //第一个参数:HTML传送方法(GET,POST),第二个参数:目标地址,第三个参数:开启回调函数
        xmlhttp.open("GET", url, true);
        xmlhttp.onreadystatechange = MyData;//MyData为回调函数
        xmlhttp.send(null);
    } else {
        //alert("Your browser does not support XMLHTTP.");    //错误的意思
    }
}
//Ajax... End
//Ajax回调函数,执行4次 begin...
function MyData() {
// 4 = "loaded"
    //alert(2);
    if (xmlhttp.readyState==4) {//客户端请求状态成功
        // 200 = OK
        if (xmlhttp.status==200) {//服务端响应状态成功
            //alert("哇哈哈");
            //Action返回的结果集已文本形式获得
            var results = xmlhttp.responseText;
            //获得你的节点,在此节点写入响应内容
            //alert(ElementId);
            document.getElementById(ElementId).innerHTML=results;
        } else {
            //alert("Problem retrieving XML data");//错误的意思
        }
    }
}
//Ajax回调函数,执行4次 end...