手写Ajax

来源:互联网 发布:c语言音乐 编辑:程序博客网 时间:2024/04/29 21:42

创建异步对象

function creatXmlHttp () {    var xhobj = false;    try {        xhobj = new ActiveXObject("Msxml2.XMLHTTP");    } catch (e) {         try{             xhobj = new ActiveXObject("Microsoft.XMLHTTP");        }catch (e2){             xhobj = false        }   }     if (!xhobj && typeof XMLHttpRequest != "undefine") {         xhobj = new XMLHttpRequest();   }   return xhobj;}

post提交数据

//post提交数据"FristAjax.ashx"    function PostData(page,msg) {        //创建异步对象        xhr = creatXmlHttp();        //设置请求参数        xhr.open("post",page , true);        //设置post请求报文        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        //设置回调函数(这个回调函数主要是用来检测服务器是否将数据发回给异步对象)        xhr.onreadystatechange = function () {            if (xhr.readyState == 4) {//当服务器将数据发回给异步对象时,readyState=4                if (xhr.status == 200) {//如果返回的响应报文 的状态码为200,才代表服务器正确运行后发回的数据                   // alert("呵呵!" + xhr.readyState + xhr.responseText);                    //  xhr.responseText获取服务器响应数据                    return xhr.responseText;                }                else {                    //alert("系统忙,请稍后再试!")                    return false;                }            }        }        //异步对象发送请求        xhr.send(msg); }

post调用方法

         function post() {             var v = PostData("FristAjax.ashx", "txtName = sdfdsf");             alert(v);       }

get

    var xhr = false;        function GetData() {        //创建异步对象            xhr = creatXmlHttp();            //设置请求参数            xhr.open("GET", "FristAjax.ashx", true);            //设置浏览器不使用缓存            xhr.setRequestHeader("If-Modified-Since","0");           //设置回调函数(这个回调函数主要是用来检测服务器是否将数据发回给异步对象)            xhr.onreadystatechange = function () {                if (xhr.readyState == 4) {//当服务器将数据发回给异步对象时,readyState=4                    if (xhr.status == 200) {//如果返回的响应报文 的状态码为200,才代表服务器正确运行后发回的数据                        alert("呵呵!" + xhr.readyState + xhr.responseText);                      //  xhr.responseText获取服务器响应数据                    }                    else {                         alert ("系统忙,请稍后再试!")                    }                }            }              //异步对象发送请求            xhr.send(null);