XMLHttpRequest 使用概括
***********************************************
XMLHttpRequest对象初始化:
***********************************************
<script language="javascript">
var http_request=false;
//IE浏览器
http_request=new ActiveXObject("Msxml2.XMLHTTP");
http_request=new ActiveXObject("Microsoft.XMLHTTP");
//Mozilla浏览器
http_request=new XMLHttpRequest();
</script>
***********************************************
XMLHttpRequest对象的方法:
***********************************************
方法 描述
abort() 停止当前请求
getAllResponseHeaders() 作为字符串返回完整的headers
getResponseHeader("headerLabel") 作为字符串返回单个的headers
open("method","URL"[,asyncFlag[,"userName"[,"password"]]]) 设置未决的请求的目标URL,方法和其它参数
send(content) 发送请求
setRequestHeader("laber","value") 设置header并和请求一起发送
***********************************************
XMLHttpRequest对象的属性:
***********************************************
属性 描述
onreadystatechange 状态改变的事件触发器
readyState 对象状态(integer):
0=未初始化;1=读取中;2=已读取;3=交互中;4=完成
responseText 服务器进程返回数据的文本版本
responseXML 服务器进程返回数据的兼容DOM的XML文档对象
status 服务器返回的状态码,如404="文件未找到";200="成功"
statusText 服务器返回的状态文本信息
************************************************
一个完整的Ajax调用流程
************************************************
A、初始化对象并发出XMLHttpRequest请求
B、指定响应处理函数
http_request.onreadystatechange=processRequest;//这个processRequest是函数名,是当从服务器返回数据后触发的事件
C、发出HTTP请求
http_request.open('GET','http://www.163.com/1.asp',true);
http_request.send(null);
//如果第一参数是post则还要加上下面这条语句
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
D、处理服务器返回的信息
在第二步已经指定了响应处理函数,这一步,来看看这个响应处理函数都应该做什么
function processRequest {
//检查XMLHttpRequest对象的readyState值,判断请求目前的状态。
if(http_request.readyState==4{
//信息已经返回,可以开始处理
}else{
//信息还没有返回,等待
}
//判断返回的http状态码,确定返回的页面没有错误。
if(http_request.status==200{
//页面正常,可以开始处理信息
}else{
//页面有问题
}
}
XMLHttpRequest对成功返回的信息有两种处理方式:
responseText:将传回的信息当字符串使用;
responseXML:将传回的信息当XML文档使用,可以用DOM处理.
<script language="javascript">
var http_request=false;
function send_request(url){//初始化、指定处理函数、发送请求的函数
http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest){//Mozilla浏览器
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){//设置MiME类别
http_request.overideMimeType("text/xml");
}
}
else if(window.ActiveXObject){//IE浏览器
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
if(!http_request){//异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystateChange=processRequest;
//确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("GET",url,true);
http_request.send(null);
}
//处理返回信息的函数
function processRequest(){
if(http_request.readyState==4){//判断对象状态
if(http_request.status==200){//信息已经成功返回,开始处理信息
alert(http_request.responseText);
}else{//页面不正常
alert("您所请求的页面有异常.");
}
}
}
</script>
XMLHttpRequest 使用概括的更多相关文章
- JavaScript权威设计--跨域,XMLHttpRequest(简要学习笔记十九)
1.跨域指的是什么? URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a. ...
- AJAX的核心XMLHttpRequest对象
为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,jQuery,Css...)重新融合程一个新的知识框架.而XMLHttpRequest对象则是其中的重 ...
- XMLHTTPRequest对象的创建与浏览器的兼容问题
MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest ...
- 部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML < ...
- Ajax 与 XmlHttpRequest
AJAX描述了确保Web应用在Web服务器请求新数据的情况下也能(几乎)实时反应的一种方法.具体地说,AJAX只是一些建立已久的技术的相互作用,从HTML.XHTML和HTTP,到JavaScript ...
- js中XMLHttpRequest对象实现GET、POST异步传输
js中XMLHttpRequest对象实现GET.POST异步传输 /* * 统一XHR接口 */ function createXHR() { // IE7+,Firefox, Opera, Chr ...
- AJAX初探,XMLHttpRequest介绍
AJAX初探,XMLHttpRequest介绍 AJAX AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML. AJ ...
- 大熊君学习html5系列之------XHR2(XMLHttpRequest Level 2)
一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...
- Hadoop概括——学习笔记<一>
之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X概述第一章的笔记 第一章主要讲的是hadoop基础知识.老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据 ...
随机推荐
- linux Page cache和buffer cache----- systemtap
http://shixm.iteye.com/blog/1724718 http://blog.csdn.net/dianhuiren/article/details/7543886
- stack计算表达式的值
9.52 使用stack对象处理带圆括号的表达式.遇到左圆括号时,将其标记下来.当你在一个左括号之后遇到右圆括号时,弹出stack对象中这两边括号之间的元素,直到遇到左括号,将左括号也一起弹出栈. 接 ...
- 适用于cocos2dx的编辑器:Texture,Tilemap,Particle,Action,Level etc
原文:http://www.cocos2d-x.org/wiki/Editors_for_cocos2d-x_TextureTilemapParticleActionLevel_etc Action ...
- 安装tensorflow
官网:http://tensorflow.org/安装步骤:1.sudo apt-get install python-pip python-dev python-virtualenv 3 co ...
- IIS限制ASP.Net 文件上传大小解决方案,修改IIS7/7.5配置
当在web.config中设置了 httpruntime 后还是无法成功上传大文件,则要修改IIS的系统config IIS 7 默认文件上传大小是30M 要突破这个限制: 修改IIS的applica ...
- java Spring bean作用域
1. Singleton作用域 当一个bean的作用域为singleton, 那么Spring IoC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则 ...
- Ajax编程技术
AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML. 指一种创建交互式网页应用的网页开发技术. 不是指一种单一的技术,而是有机地利 ...
- 20151217jqueryUI--自动补全工具
自动补全(autocomplete),是一个可以减少用户输入完整信息的 UI 工具.一般在输入邮箱.搜索关键字等,然后提取出相应完整字符串供用户选择.一. 调用 autocomplete()方法 $( ...
- DOS命令教学之详解批处理
批处理文件是由一个或一个以上的DOS命令及可执行命令组成的带有扩展名.BAT的文件.当用户以批处理文件名为命令时,DOS会自动依次执行文件中的命令.批处理文件的特点是一次建立可多次执行.下面,寻修网h ...
- Spring中Bean实例的生命周期及其行为