我是靠谱客的博主 无辜小蚂蚁,最近开发中收集的这篇文章主要介绍JS XMLHttpRequest 学习总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http链接使用XMLHttpRequest,html5之后对XHR重新规范了定义,具体可以参考MDN Web docs / XMLHttpRequest

js中可以通过new XMLHttpRequest()来声明,主要参数有:
onreadystatechange : 属性状态readyState改变后就会回调的函数,用户在这里处理各种状态。
readyState:链接状态在这里插入图片描述
response:返回的正文,如果没有,默认是空字符串,其他类型可以定义,根据reponseType
responseText: 返回一个DOMString,它包含对文本的请求的响应,如果请求不成功或尚未发送,则返回null。
responseType: 返回的正文类型,可以是 ArrayBuffer 、 Blob 、 Document 、 JavaScript Object 或 DOMString 。
responseUrl: 如果URL为空,只读的XMLHttpRequest.responseURL属性返回响应的序列化URL或空字符串。当URL被返回的时候,任何包含在URL # 后面的fragment都会被删除。 responseURL 的值将会是经过任意多次重定向后的最终 URL 。
responseXml: 是一个只读值,它返回一个包含请求检索的HTML或XML的Document,如果请求未成功,尚未发送,或者检索的数据无法正确解析为 XML 或 HTML,则为 null。该响应被解析,就像它是一个 “text / xml” 流。当 responseType 设置为 “document” 并且请求已异步执行时,响应将解析为 “text / html” 流。responseXML 对于任何其他类型的数据以及 data: URLs 为 null。

如果服务器没有明确指出 Content-Type 头是 “text/xml” 还是 “application/xml”,
你可以使用XMLHttpRequest.overrideMimeType() 强制 XMLHttpRequest 解析为 XML.

status:返回网页状态,200~299都是正常状态,404 not found。
statusText: 返回状态对应的文本信息,如果 readyState 为 0 或者 1,那么这是个空字符串。
timeout: 超时的时间,超时并不应该用在一个 document environment 中的同步 XMLHttpRequests 请求中,否则将会抛出一个 InvalidAccessError 类型的错误。当超时发生, timeout 事件将会被触发。

在IE中,超时属性可能只能在调用 open() 方法之后且在调用 send() 方法之前设置。

upload: 用来表示上传的进度。这个对象是不透明的,但是作为一个XMLHttpRequestEventTarget,可以通过对其绑定事件来追踪它的进度。
在这里插入图片描述

下面是实例代码:
一、creator js:

	// netTest.js
	net = {};
	module.exports = net;
	net.sendData = function(url, params) {
		var xhr = cc.loader.getXMLHttpRequest();
		// respones callback
		xhr.onreadystatechange = function() {
			cc.log("connect callback");
			if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 300)) {
				cc.log("respones state success" + xhr.responseText);
			} else {
				cc.log("connect error  " + xhr.statusText);
			}
		};
		xhr.timeout = 5000; // 超时时间,单位毫秒
		xhr.open("POST", url);  // 打开链接,POST/GET
		// xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  // 设置头信息,必须在open之后,send之前
		xhr.send(params); // 发送,参数可以为null,或者是字符串
	};

二、html+js:

	<script>
		var xhr = new XMLHttpRequest();
		// 其余部分和creator类似了,就不重写了
	</script>

最后

以上就是无辜小蚂蚁为你收集整理的JS XMLHttpRequest 学习总结的全部内容,希望文章能够帮你解决JS XMLHttpRequest 学习总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部