文档章节

js XHR 片段记录

appleZ
 appleZ
发布于 2015/04/13 10:37
字数 168
阅读 12
收藏 0
function createXHR () {
	if (XMLHttprequest) {
		return new XMLHttprequest();
	}else if (ActiveXObject) { //before ie7 
		if (typeof arguments.callee.activeXString != "string") {
			var version = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"];//"MSXML2.XMLHttp" 新版本
			for (var i = 0; i < version.length; i++) {
				try{
					new ActiveXObject(version[i]);
					arguments.callee.activeXString = version[i];
				}catch (exception){

				}
			};
		};
		return ActiveXObject(arguments.callee.activeXString);

	}else{
		throw new Error("No XHR object avaliable!");
	};
}
 
 
//同步
var xhr = createXHR();
xhr.open("get", "test.html", false);
xhr.send(null);
if (xhr.status >=200 && xhr.status < 300 || xhr.status == 304) {
	alert(xhr.responseText);
}else{
	alert(xhr.status);
};
//异步
var xhr = createXHR();
xhr.onreadystatechange = function(){ //异步必须放在open前
	if (xhr.readystate == 4) { //0 1 2 3 4(完成) 五中状态
		if (xhr.status >=200 && xhr.status < 300 || xhr.status == 304) {//304 重定向
			alert(xhr.responseText);
		}else{
			alert(xhr.status);
		};
	};
}
xhr.open("get", "test.html", true);
//http header xhr 会发送http头 不设置为默认
xhr.open("get", "test.html", true);
xhr.setRequestHeader("myheader", "myvalue");
xhr.send(null);
xhr.getResponseHeader();
xhr.getAllResponseHeadrs();


© 著作权归作者所有

共有 人打赏支持
appleZ
粉丝 1
博文 38
码字总数 9774
作品 0
深圳
cordova与ios native code交互的原理

很早以前写了一篇博客,总结cordova插件怎么调用到原生代码: cordova调用过程,不过写得太水,基本没有提到原理。最近加深了一点理解,重新补充说明一下 js调用native 下面是我们产品中的代...

Michaelyn
2017/10/23
0
0
JavaScript的性能优化:加载和执行

js最大的问题是:无论当前JavaScript代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成。JavaScript执行过程耗时越久,浏览器等待响应用户输入的时间就越长。浏览器...

EDIAGD
2013/09/07
0
14
重写默认的CGridView 点击“删除”按钮触发的脚本

默认的CGridView,点击“删除”按钮所触发的脚本-默认是用javascript 的confirm方法弹出确认对话框,不太美观。且如何更改弹出的对话框中的内容? 下面的脚本是由YII自动生成的。 [php] vi...

daniel-john
2014/03/17
0
0
高性能Javascript--脚本的无阻塞加载策略

Javascript在浏览器中的性能,可以说是前端开发者所要面对的最重要的可用性问题。 在Yahoo的Yslow23条规则当中,其中一条是将JS放在底部 。原因是,事实上,大多数浏览器使用单进程处理UI和更...

Junn
2014/10/10
0
2
ajax jsonp其本质 用原生js来处理跨域的数据(jsonp)

说明总结: 1.ajax和jsonp其实本质上是不同的东西。ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本。 2.但是ajax和jsonp在...

BearCatYN
2015/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
16分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
19分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
21分钟前
2
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
24分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
26分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部