纯手写AJAX

复制代码
function ajax(){  
    //http相应对象
    var xmlhttp;  
    //判断浏览器
    if(window.XMLHttpRequest){  
        xmlhttp = new XMLHttpRequest();  
    }else{  
        // code for IE6, IE5  
        xmlhttp = ActionXObject("Microsoft.XMLHTTP");  
    }  
      
    //判定执行状态  
    xmlhttp.onreadystatechange = function(){  
        /* 
        readyState 
            0: 请求未初始化 
            1: 服务器连接已建立 
            2: 请求已接收 
            3: 请求处理中 
            4: 请求已完成,且响应已就绪 
        status 
            200:请求成功 
            404:未找到 
            500:服务器内部错误 
        */  
        if (xmlhttp.readyState==4 && xmlhttp.status==200){  
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//获得字符串形式的响应数据,如果返回的是XML需要单独解析  
            //responseXML       获得 XML 形式的响应数据  
            var xmlDoc = xmlhttp.responseXML;  
            var txt = "";  
            var num = xmlDoc.getElementsByName("value");//获取节点name=value的值  
            for(var i=0;i<num.length;i++){  
                txt = txt+num[i].childNodes[0].nodeValue+"<br />";  
            }  
            document.getElementById("myDiv2").innerHTML = txt;  
        }  
    }  
      
    //@param 最后一个参数表示是否是异步提交,为了避免使用缓存我们加上一个时间戳  
    xmlhttp.open("Get","url"+  
        (function(){  
            var date = new Date();  
            return date.getSeconds();     
        })  
    ,true);  
      
    //设置头信息  
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  
      
    //将信息发送到服务器  
    xmlhttp.send();   
      
}  
复制代码

 

posted @   金楽  阅读(219)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示