XMLHttpRequest创建对象
首先,介绍一下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创建对象的更多相关文章
- AJAX 创建对象 请求 响应 readyState
AJAX 创建对象 请求 响应 readyState AjAX = Asynchronous JavaScript and XML (异步的JavaScrip和 XML). 不是新的编程语言, 而是一 ...
- 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。
开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解. 我这篇博文的标题之所以用了三句,是为了方便其他人好查找: 这里介绍的方法有 ...
- Ajax学习整理
什么是ajax?W3School中给ajax的定义是: 1.AJAX = 异步 JavaScript 和 XML. 2.AJAX 是一种用于创建快速动态网页的技术. 3.通过在后台与服务器进行少量数据 ...
- ajax基本概念,方法
ajax Asynchronous javascript and xml异步的 javascript and XMLajax 是一门在不刷新网页的情况下,与服务器进行交互更新部分网页的技术: 传 ...
- 上传文件的三种方式xhr,ajax和iframe及上传预览
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 原生Ajax--XmlHttpRequest对象和jQuery.ajax()
Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE) 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要 ...
- python(Django之组合搜索、JSONP、XSS过滤 )
一.组合搜索 二.jsonp 三.xss过滤 一.组合搜索 首先,我们在做一个门户网站的时候,前端肯定是要进行搜索的,但是如果搜索的类型比较多的话,怎么做才能一目了然的,这样就引出了组合搜索的这个案例 ...
- 初学者必读原生AJAX-异步的javaScript和XML
1.前台页面 <form action="#" method="post"> 姓名<input type="text" n ...
- Python开发【Django】:组合搜索、JSONP、XSS过滤
组合搜索 做博客后台时,需要根据文章的类型做不同的检索 1.简单实现 关联文件: from django.conf.urls import url from . import views urlpat ...
随机推荐
- JavaHTTP下载视频
控制层类: package com.grab.video.controller; import java.io.BufferedOutputStream; import java.io.Buffere ...
- 一篇非常全面的freemarker教程
copy自http://demojava.iteye.com/blog/800204 下面内容所有是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主 ...
- Git Flow流程
# 1. clone远程仓库到本地 git clone git@git.oschina.net:huogh/muzhifm_xxx.git # 2. 使用远程分支origin/dev创建本地分支d ...
- [渣译文] SignalR 2.0 系列: SignalR简介
原文:[渣译文] SignalR 2.0 系列: SignalR简介 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ...
- iOS_24_画画板(含取色板)
终于效果例如以下: 一.简单说明 1.使用一个数组 strokesArr(笔画数组)记录全部笔画.数组中保存的是一个个的笔画字典,一个字典就是一个笔画.笔画字典中有三项:笔画的大小.颜色.points ...
- Linux IO工具 iotop备择方案iopp
iotop毫无疑问linux IO检测上是一个很好的工具,但苦于要求和内核版本Python版本号.我的很多朋友放弃了.我也是.无意中发现iopp,使用c书面,与此iotop它是一个作用.nice! 一 ...
- Redis是新兴的通用存储系统-为何Redis要比Memcached好用
GitHub版本地址: https://github.com/cncounter/translation/blob/master/tiemao_2014/Redis_beats_Memcached/R ...
- 具体的例子来教你怎么做LoadRunner结果分析
LoadRunner 解的地方--測试结果的分析.其余的录制和加压測试等设置对于我们来讲通过几次操作就能够轻松掌握了.针对 Results Analysis 我用图片加文字做了一个样例,希望通过样例能 ...
- 基于HTML5气3D仿真培训系统
根据最近的上线HTML5的燃气3D培训仿真系统.曾经的老系统是採用基于C++和OpenGL的OpenSceneGraph引擎设计的,OSG引擎性能和渲染效果各方面还是不错的,但由于这次新产品需求要求能 ...
- JAVA运行程序代码段
我记得那时候刚毕业.学习JAVA恐惧是这里,它是关于JAVA称号.我总是不正确.如今,这最后审查.看了好半天.得赶紧把刚才学习到的那点东西记下来. 一.关于static的代码段运行顺序 运行结果例如以 ...