首先,介绍一下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. CareerCup Chapter 4 Trees and Graphs

    struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int val):val(val),left(NULL),rig ...

  2. Hibernate 映射字段问题[ImprovedNamingStrategy]

    Hibernate 使用JPA 对于映射有3种规则能够配置:DefaultNamingStrategy,ImprovedNamingStrategy,EJB3NamingStrategy 这里仅仅说I ...

  3. iOS 自己主动布局教程

    springs和struts的问题 你肯定非常熟悉autosizing masks-也被觉得是springs&struts模式.autosizing mask决定了当一个视图的父视图大小改变时 ...

  4. string 至 Color 转换演示示例:

    string colorstr = "#FF4D4D4D";string hex = colorstr.ToString().Replace("#", &quo ...

  5. 加密解密工具类(Java,DES)

    一个Java版的DES加密工具类,能够用来进行网络传输数据加密,保存password的时候进行加密. import java.security.Key; import java.security.sp ...

  6. sqlserver system object type

    select distinct s.type, s.type_desc from sys.objects as s inner join (select distinct type from sys. ...

  7. Linux下find命令具体解释

    1. find命令 linux的find命令用来查找文件,功能非常强大, 能够通过时间, 用户组, 文件名称, 文件类型, 权限,大小等来查找对应文件. 2. find的使用方法 通过find --h ...

  8. 【C++知识汇总】运营商 &amp; 运算符重载

    [运算符]        在进行运算时,假设右括号的话我们知道先运算哪个,那假设没有括号了.算术运算符,关系运算符,逻辑运算符,位运算符.赋值运算符,++.--运算符等等,那么多的运算符.我们先算哪边 ...

  9. Nginx + unicorn 运行多个Rails应用程序

    PS:第一次写的很详细,可惜发布失败,然后全没了,这是第二次,表示只贴代码,剩下的自己领悟好了,这就是所谓的一鼓作气再而衰吧,希望没有第三次. 版本: ruby 2.1.0 rails 4.0.2 n ...

  10. 依据Uri获得sd卡图片

    <pre name="code" class="java">String mBigImage = URLEncoder.encode(mImageU ...