首先,介绍一下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. Android多线程的研究(8)——Java5于Futrue获取线程返回结果

    我们先来看看ExecutorService操作的方法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5 ...

  2. 玩转Web之servlet(二)---servlet常见错误

    1>403:tomcat发生错误 2> 404 :意思是服务器依据请求资源路径,找不到对应的资源        解决:1.依据http://localhost:8080/Web工程名/ur ...

  3. Http与协议TCP协议简单易懂

    于C#编写代码,很多时候会遇到Http协议或TCP合约,这里做一个简单的了解. TCP对应于该传送层协议,和HTTP对应于应用层协议,从本质上讲,两者是没有可比性.Http该协议是基于TCP之上的,当 ...

  4. JVM Input Arguments Lookup (JMX)(转)

    JVM Input Arguments Lookup (JMX) Maps JVM input arguments -- but not main arguments -- using JMX to ...

  5. Lock_sga 和 pre_page_sga 参数详解

    Lock_sga 和 pre_page_sga 参数详解        Lock_sga 和pre_page_sga,是两个平时用的不算太多的参数,但是这两个参数平时在优化的时候可能给你带来比较乐观的 ...

  6. SERVERCONFIG

    -- Create tablecreate table ERP_SERVERCONFIG( id NUMBER not null, servicename VARCHAR2(500), service ...

  7. WPF学习(11)2D绘图

    本篇我们来学习WPF的绘图,在2D绘图中主要有这么几个重要的类:Drawing.Visual和Shape,顺便讲下Brush和BitmapEffect. 1 2D绘图 1.1Drawing类 Draw ...

  8. lua三底漆:lua转让c/c++库(动态链接模式)

    dll按功能luaL_openlib出口,然后lua使用package.loadlib导入库函数,基本就是这么个过程,以下上代码来说明一切. #include "stdafx.h" ...

  9. 联想G480安装CentOS电缆驱动器

    最近.联想G480 32本机安装现场CentOS 6.5. 发现.总是无法使用有线网络. 必须安装必要的驱动,搜集了资料,安装过程例如以下: 1. 必备的软件 安装前,须要下列的软件依赖包. sudo ...

  10. poj 2482 Stars in Your Window(扫描线)

    id=2482" target="_blank" style="">题目链接:poj 2482 Stars in Your Window 题目大 ...