文档章节

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
Fundebug能够捕获这些BUG

摘要:Fundebug的JavaScript监控插件更新至0.1.0,可以监控3种不同类型的前端BUG:JavaScript执行错误、资源加载错误、HTTP请求错误。 从简单的onerror开始,Fundebug的JavaScript错误监控插...

Fundebug
2017/06/30
0
0
JavaScript的性能优化:加载和执行

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

EDIAGD
2013/09/07
0
14
精读《高效 javascript》

前言 本期我来给大家推荐的书是《高性能JavaScript》,在这本书中我们能够了解 javascript 开发过程中的性能瓶颈,如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。同样...

程序员解决师
08/23
0
0
高性能Javascript--脚本的无阻塞加载策略

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

Junn
2014/10/10
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu 安装ssh服务以及开启root用户ssh登录

一、安装ssh服务 安装ssh服务 sudo apt-get update sudo apt-get install openssh-server 安装完成后启动ssh服务 sudo service ssh start 二、开启root用户ssh登录 解决root远程ssh不能登录,...

15834278076
6分钟前
0
0
AndroidRX

1.延时并切换回主线程执行 Observable.just(true).delay(2, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<Boolean>() { [@Override](https://my.......

我是菜鸟我骄傲
34分钟前
0
0
申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
42分钟前
1
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
47分钟前
5
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部