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. Asp.Net MVC ajax调用 .net 类库问题

    如果你还在为 ajax 调用 .net 类库还束手无策的话,相信这篇博客将帮助你解决这个世纪问题! 因为Visual Studio 内置了asp.net mvc ,不过当你添加asp.net mvc项 ...

  2. Linux df 命令

    Linux df 命令 df(disk free)功能说明:显示磁盘的相关信息.语 法:df [-ahHiklmPT][--block-size=<区块大小>][-t <文件系统类型 ...

  3. 原生javascript效果:无缝滚动

    <style type="text/css"> #con {width:400px; padding:10px; margin:20px auto; text-alig ...

  4. JAVA File常用的API介绍

    package coreJava; import java.io.File; import java.io.IOException; public class FileDemo { public st ...

  5. sjtu1313 太湖旅行

    Description 西山风景区是苏州著名的国家级风景区,一到暑假,游客们都蜂拥而至.作为太湖风景区的精华,西山景区吸引人的地方主要在它的群岛风光.花果丛林和名胜古迹. ginrat对这个地方向往已 ...

  6. VirtualDub - 开源视频捕捉及线性处理软件

    VirtualDub是一个开放源代码的视频捕捉及线性处理软件.它由Avery Lee编写,遵循GPL协议.VirtualDub可以通过摄像头捕捉视频. 官方网站http://virtualdub.or ...

  7. DHTMLX 前端框架 建立你的一个应用程序 教程(九)--绑定表单Form到表格Grrid中

    绑定表单Form到表格Grrid中 现在我们需要选中一行表格数据的时候 数据能在表单中显示出来 我们可以使用DHTMLX 丰富的组件功能实现它. 绑定表单到表格 1.调用bind方法将表单绑定到网格, ...

  8. *[codility]ArrayInversionCount

    http://codility.com/demo/take-sample-test/arrayinversioncount 求逆序对数,归并排序并记录逆序次数. // you can also use ...

  9. 网络基本功(八):细说TCP滑动窗口

    https://community.emc.com/message/842129#842129

  10. servlet向ajax传递list数据类型,ajax向servlet传递array数据类型

    因工作需要, 1,后台向前台传递一个list 2,前台向后台传递类似于list的结构,但是因为javascript不支持list类型,所以只能使用二维数组代替 后台运行后的截图:           ...