js XHR 片段记录
博客专区 > appleZ 的博客 > 博客详情
js XHR 片段记录
appleZ 发表于3年前
js XHR 片段记录
  • 发表于 3年前
  • 阅读 12
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: js XHR 片段记录
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();


共有 人打赏支持
粉丝 2
博文 25
码字总数 9774
×
appleZ
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: