XMLHttpRequest对象负责将用户信息以异步方式发送到服务器,并接受服务器返回的相应信息和数据。也就是可以在页面已经加载后从后从服务器请求、接收数据,这样使得用户的体验度更好,而同时提升了客户端与服务器的交互速度,AJax得以实现。故    XMLHttpRequest是Ajax技术体系中最为核心的技术,缺少了它,Ajax的其余技术就无法成为一个有机的整体。

创建XMLHttpReques

在使用XMLHttpRequest对象发送请求和处理响应之前,首先必须使用JavaScript创建XMLHttpRequestRequest对象。

代码:

<script language="javascript" type = "text/javascript">
var xmlHttp;
//使用新版本的IE创建XMLHttprequestRequest对象
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(_e){
//使用旧版本的IE创建XMLHttpRequest对象
try{
xmlHttp = new AcriveXObject("Microsoft.XMLHTTP");
}catch(_E){ }
} //使用其他浏览器创建XMLHttpRequest对象
if (!xmlHttp && typeof XMLHttpRequest !='undefined')
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
xmlHttp = false;
}
}
</script>

属性和方法

XMLHttpRequest对象提供了一系列属性和方法,来向服务器端发起异步HTTP请求,监听服务器状态,并在服务器完成数据响应处理之后接收服务器端返回的信息数据。

属性和方法连接:http://www.w3school.com.cn/xmldom/dom_http.asp

XML五步使用法

1、建立XMLHttpRequest对象

2、注册回调函数

3、使用Open方法设置和服务器端交互的基本信息

4、设置发送的数据,开始和服务器端交互

5、在回调函数中判断交互是否结束,响应是否正确,并根据需要获取服务器端返回的数据,更新页面内容。

实例代码:

      <script type="text/javascript"> 
        var xmlhttp; 
        function submit()  
        { 
            if(window.XMLHttpRequest) 
            { 
            //IE7 above,firefox,chrome^^ 
                xmlhttp=new XMLHttpRequest(); 
                //为了兼容部分Mozillar浏览器,当来自服务器响应开头不是xml,导致的无法响应问题 
                if(xmlhttp.overrideMimeType) 
                { 
                    xmlhttp.overrideMimeType('text/xml'); 
                } 
            } 
            else if(window.ActiveXObject) 
            { 
                //IE5\IE6 
                xmlhttp=new activeXObject("Microsoft.XMLHTTP"); 
            } 
            if(xmlhttp==null||xmlhttp==undefined) 
            { 
                alert("con't create XMLHttpRequest Object"); 
            } 
            var userName = document.getElementById('testText').value; 
            //注册回调函数 (错误的写法callback())
            xmlhttp.onreadystatechange = callback;  //Get方式交互,设置服务器端交互的响应的参数
            //发送信息 
            xmlhttp.open('GET','AjaxServer.aspx?name='+userName,true); 
           //设置向服务器端发送的数据,启动和服务器端的交互
xmlhttp.send(null);  //Post方式交互
xmlhttp.open('POST', 'AjaxServer', true); 
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');               //设置向服务器端发送的数据,启动和服务器端交互
xmlhttp.send('name='+userName);
    
        } //定义callback 函数 
        function callback()  
        { 
            //判断交互是否完成,是否正确返回 ,还有判断服务器端是否正确返回了数据
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200)  
            { 
                //获取服务器返回信息 
                var message = xmlhttp.responseText; 
                //得到提示信息div 
                var testDiv=document.getElementById('test'); 
                testDiv.innerHTML=message; 
            } 
        } 
    </script> 

总结

本篇博客简单总结了一下XMLHttpRequest对象的一些基本知识,积累理论,实践应用。通过学习XMLHttpRequest对象也体会出了BS的优势,发布简单方便,灵活,用户体验度好。

Ajax核心——XMLHttpRequest基础的更多相关文章

  1. AJAX 核心 —— XMLHTTPRequest 对象回顾

    一.AJAX概述 不使用 AJAX 的网页,如果要更新内容,需要重载整个页面. AJAX ( Asynchronous Javascript And XML ,异步 Javascript 和 XML) ...

  2. 详解AJAX核心 —— XMLHttpRequest 对象 (上)

    我要说的内容都是非常基础的内容,高手就免看了,如果看了欢迎给点意见啊.新手或者对低层还不是很了解的人可以看看,帮助理解与记忆. XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程 ...

  3. AJAX核心--XMLHttpRequest五步法

    引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...

  4. [置顶] Ajax核心--XMLHttpRequest对象

    XMLHttpRequest 对象是AJAX功能的核心,学习XMLHttpRequest对象就先从创建XMLHttpRequest 对象开始,了解在不同的浏览器中创建XMLHttpRequest 对象 ...

  5. Ajax核心--XMLHttpRequest对象

    XMLHttpRequest 对象是AJAX功能的核心,学习XMLHttpRequest对象就先从创建XMLHttpRequest 对象开始,了解在不同的浏览器中创建XMLHttpRequest 对象 ...

  6. AJAX——核心XMLHttpRequest对象

    AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架.而,XMLHttpR ...

  7. 详解AJAX核心 —— XMLHttpRequest 对象 (下)

    继续上一篇的内容上一篇关于XMLHttpRequest 对象发送对服务器的请求只说到了用Get方式,没有说Post方式的.那是因为要说Post方式就需要先说另外一个东西,那就是DOM(Document ...

  8. AJAX核心XMLHTTPRequest对象

    老早就写好了总结.今天整理发表一下. XMLHttpRequest对象是AJAX的核心技术,XMLHttpRequest 是XMLHTTP 组件的对象,通过这个对象.AJAX能够像桌面应用程序一样仅仅 ...

  9. ASP.NET Ajax核心对象

    本章学习目标 主要掌握AJAX的基本概念和实现机制,学习并创建XMLHttpRequest对象,使用XMLHttpRequestObject对象获取服务器端的数据 主要内容如下,请点击ASP.NET ...

随机推荐

  1. winform 项目获取app.config 中appSettings节点数据

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  2. 【Selenium】自动化调试后C盘越来越大

    在本机调试了一段时间自动化脚本后发现C盘占用越来越大,增长速度比较明显 通过360等工具清理系统垃圾表明并不好使 最后在系统临时文件中看到大量因为调试或不正常结束而Driver而产生的临时文件 具体方 ...

  3. 将CMD内的显示内容输出到txt文件

    将CMD内的显示内容输出到txt文件 xxxx -t >c:\test.txt        //xxxx为命令  如ping www.baidu.com //-t >c:\test.tx ...

  4. C# winform 弹出输入框

    Microsoft.VisualBasic.dll   引用using Microsoft.VisualBasic; string PM = Interaction.InputBox("提示 ...

  5. 理解 Android 本地数据存储 API

    利用首选项.SQLite 和内部及外部内存 API 对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能.作为一名开发人员,您经常需要存储诸 ...

  6. Oracle---->基本DDL

    修改表名: rename table_name1 to table_name2; delete [from] persons where lastname= 'Wilson';

  7. 对于 APM 用户的一次真实调查分析(下)

    一.前言 对 APM 用户的一次真实调查分析(上)中,我们主要聊到了现阶段国外 APM 行业对各个企业的渗透率.大部分使用 APM 工具的企业规模以及 APM 工具在用户心中的地位等问题,有兴趣的朋友 ...

  8. SQL中Case的使用方法(下篇)(转)

    接上篇 四,根据条件有选择的UPDATE. 例,有如下更新条件 工资5000以上的职员,工资减少10% 工资在2000到4600之间的职员,工资增加15% 很容易考虑的是选择执行两次UPDATE语句, ...

  9. loadrunner 怎么能得到返回的http状态?

    loadrunner如何保存从服务器传回来的http头的信息? Action() { int HttpRetCode; web_url("www.hao123.com", &quo ...

  10. 乱序双发射 和 GHB的分支预测

    乱序执行(out-of-order execution)是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术.比方Core乱序执行引擎说程序某一段有7 条指令,此时CPU ...