首先,介绍一下XMLHttpRequest对象,我们都知道Ajax这不是一个简单的技术,但一些技术的融合。XMLHttpRequest这是Ajax中最为核心的技术。假设没有XMLHttpRequest。Ajax的其余技术就无法成为一个有机的总体。在Ajax应用程序中XMLHttpRequest对象负责将用户信息以异步方式发送到server。并接收server返回的响应信息和数据。

XMLHttpRequest时XMLHttp组件的一个对象,使用XMLHttpRequest能够实现不向server提交整个页面的情况下。局部更新网页信息。

可能这么说有点抽象吧。大家都常常进QQ空间看好友动态,有些好友分享了视频,我们点击播放之后不管是在视频缓冲期间还是在播放期间鼠标跟键盘都没有丧失活动能力,我们能够继续浏览其它动态。而我们在上下滑动鼠标滚轮的时候。视频页面也尾随我们浏览的当前位置上下移动。例如以下图所看到的,这种功能就能够通过Ajax实现。

XMLHttpRequest对象提供了一系列的属性和方法来向server发送异步HTTP请求。

在server处理用户请求的过程中。XMLHttpRequest对象通过属性的状态值来实时反映HTTP请求所处的状态并依据得到的状态指导javascript做对应的处理。此外当server顺利响应用户动作并将用户返回时,XMLHttpRequest提供的response系列方法能够将返回的数据组装成文本格式、XML格式或者unsigned
byte数据格式提供的javascript脚本处理。

使用XMLHttpRequest对象发送请求和处理响应之前,必须要使用javascript创建XMLHttpRequest对象。

因为XMLHttpRequest对象眼下还不是W3C标准,所以在新版本号IE浏览器、旧版本号IE浏览器以及非IE浏览器中的创建方法也不同。因此在创建XMLHttpRequest对象之前须要先推断浏览器的类型。对于版本号较低的IE浏览器须要使用Microsoft.XMLHTTP。而对于版本号较高的IE浏览器需使用Msxml2.XMLHTTP。

以下是创建XMLHttpRequest对象的代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;">    <script language="javascript" type="text/javascript">
var xmlHttp;
//使用新版本号的IE创建XMLHttpRequest对象
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//使用旧版本号的IE创建XMLHttpRequest对象
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {}
}
//使用其它浏览器创建XMLHttpRequest对象
if (!xmlHttp && typeof XMLHttpRequest !='undefined') {
try{
xmlHttp=new XMLHttpRequest();
} catch (e) {
xmlHttp = false;
}
}
</script></span>

从代码中我们能够看出,尽管须要进行逻辑推断,可是创建XMLHttpRequest对象并不复杂。

自己对于XMLHttpRequest的理解也不是非常透彻,仅仅是依据视频中的实例和Ajax编程技术课本中的知识进行了整理,希望大家能多交流,共同进步。

版权声明:本文博客原创文章。转载请注明出处,谢谢。

XMLHttpRequest创建对象的更多相关文章

  1. AJAX 创建对象 请求 响应 readyState

    AJAX 创建对象 请求 响应 readyState AjAX = Asynchronous JavaScript and XML (异步的JavaScrip和 XML). 不是新的编程语言, 而是一 ...

  2. 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。

    开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解. 我这篇博文的标题之所以用了三句,是为了方便其他人好查找: 这里介绍的方法有 ...

  3. Ajax学习整理

    什么是ajax?W3School中给ajax的定义是: 1.AJAX = 异步 JavaScript 和 XML. 2.AJAX 是一种用于创建快速动态网页的技术. 3.通过在后台与服务器进行少量数据 ...

  4. ajax基本概念,方法

    ajax    Asynchronous javascript and xml异步的 javascript and XMLajax 是一门在不刷新网页的情况下,与服务器进行交互更新部分网页的技术: 传 ...

  5. 上传文件的三种方式xhr,ajax和iframe及上传预览

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 原生Ajax--XmlHttpRequest对象和jQuery.ajax()

    Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE) 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要 ...

  7. python(Django之组合搜索、JSONP、XSS过滤 )

    一.组合搜索 二.jsonp 三.xss过滤 一.组合搜索 首先,我们在做一个门户网站的时候,前端肯定是要进行搜索的,但是如果搜索的类型比较多的话,怎么做才能一目了然的,这样就引出了组合搜索的这个案例 ...

  8. 初学者必读原生AJAX-异步的javaScript和XML

    1.前台页面 <form action="#" method="post"> 姓名<input type="text" n ...

  9. Python开发【Django】:组合搜索、JSONP、XSS过滤

    组合搜索 做博客后台时,需要根据文章的类型做不同的检索 1.简单实现 关联文件: from django.conf.urls import url from . import views urlpat ...

随机推荐

  1. SSH2.0编程 ssh协议过程实现(转)

    SSh协议: 全称为Secure Shell,即很安全的shell,主要目的是用来取代传统的telnet和r系列命令(rlogin,rsh,rexec等)远程登录和远程执行命令的工具,实现远程登录和远 ...

  2. UI 纯代码实现计算器

    //  MHTAppDelegate.h //  TestCa //  Copyright (c) 2014年 Summer. All rights reserved. #import <UIK ...

  3. ZOJ3827 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江I称号 Information Entropy 水的问题

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge Informatio ...

  4. Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock’

    今天服务器遇到了一个很熟悉的问题 输入 #mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server throug ...

  5. Android学习路径(十)怎么会Action Bar堆放在布局

    默认情况下.action bar出如今activity窗体的顶部.稍微降低了activity布局的总空间. 假设你想隐藏或者显示action bar.在这堂用户体验的课程中,你能够通过调用hide() ...

  6. ListView分页显示

    出在:http://blog.csdn.net/tu_bingbing/article/details/13275107         当ListView要显示的数据过多时,为了更快的响应用户,这个 ...

  7. asm 盘头损失,破坏

    BUG 14693394 – ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:26076] [ENDIAN_KFBH] BUG 14758001 – ORA-15 ...

  8. Nancy

    Nancy Nancy 是一个轻量级的,简单粗暴的framework用来构建基于HTTP的各种服务,兼容.Net和Mono.Nancy的整套设计理念是基于"super-duper-happy ...

  9. 复制(6)——分发者(Distributor)

    如简介中提到,分发者(Distributor)是SQLServer 复制过程的核心组件.因为它是控制和执行实际的数据移动的过程,并且存放了发布(Publications)和订阅(Subscriptio ...

  10. Cocos2d-Java安装和配置跨平台游戏引擎以及相关的开发工具

    假设认为博文图片不清晰.能够Ctrl+鼠标滚动缩放网页比例 Cocos2d-Java是什么? http://blog.csdn.net/touchsnow/article/details/387047 ...