微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

手写Ajax

创建异步对象

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

@H_404_15@ 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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐