使用XMLHttpRequest 实现http 终止请求和超时
2017-09-08 16:18
369 查看
getXMLHttpRequest : function () { return new XMLHttpRequest(); }, var httpGet = function (url, cbSucc, cbFail, options) { var flag = false; var xhr = cc.loader.getXMLHttpRequest(); xhr.open("GET", url); var timedOut = false; var timer = setTimeout(function(){ timedOut = true; xhr.abort(); }, 3000); if (cc.sys.isNative) xhr.setRequestHeader("Accept-Encoding", "gzip,deflate"); var isRaw = false; if (options && options.responseType) { isRaw = true; xhr.responseType = options.responseType; delete options.responseType; } for (var k in options) if (options.hasOwnProperty(k)) xhr.setRequestHeader(k, options[k]); xhr.onreadystatechange = function () { if(timedOut){ return; } clearTimeout(timer); if (xhr.readyState == 4) { if (xhr.status == 200) { if (isRaw) cbSucc(new Uint8Array(xhr.response)); else cbSucc(xhr.responseText); } else { if (!flag) { flag = true; cbFail(xhr.statusText, xhr.responseText); } } } }; xhr.onerror = function () { if (!flag) { flag = true; cbFail(xhr.status, null); } }; xhr.send(); };
相关文章推荐
- 使用XMLHttpRequest 实现http 终止请求和超时
- XMLHttpRequest实现终止请求和超时
- 使用XMLHttpRequest 实现ajax效果
- 使用 XMLHttpRequest 实现 Ajax 三:取回 Json 数据
- 使用XMLHttpRequest 实现ajax效果
- 使用 XMLHttpRequest 实现 Ajax 四:调用 Webservice
- 使用 JavaScript 实现 XMLHttpRequest,在IE,FireFox 上测试通过
- 分别使用创建XMLHttpRequest和jQuery实现用户注册前的验证
- 使用XMLHttpRequest实现AJAX
- 使用JavaScript的XMLHttpRequest发送请求
- 使用XMLHttpRequest结合struts2实现Ajax异步调用的例子
- 在 Web 请求中使用 XMLHttpRequest
- 使用JavaScript的XMLHttpRequest发送请求(转载)
- 使用XMLHttpRequest结合struts2实现Ajax异步调用的例子+json插件
- 使用JavaScript的XMLHttpRequest发送请求
- 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 在 Web 请求中使用 XMLHttpRequest
- 如何使用XmlHttpRequest对象实现ajax?
- 使用 JavaScript 实现 XMLHttpRequest
- 使用 XMLHttpRequest 实现 Ajax 二:取回 XML 数据
- 使用JavaScript的XMLHttpRequest发送请求