【JavaScript】原生JS请求后台数据,兼容IE 6 及其以下版本
2018-03-27 10:16
686 查看
post: function (URL, data, callback) { var params = formatParams(data); //创建 - 非IE6 - 第一步 if (window.XMLHttpRequest) { var xhr = new XMLHttpRequest(); } else { //IE6及其以下版本浏览器 var xhr = new ActiveXObject('Microsoft.XMLHTTP'); } //接收 - 第三步 xhr.onreadystatechange = function () { if (xhr.readyState == 4) { var status = xhr.status; //关闭遮罩层 //启动遮罩层 // var dom = document.getElementsByClassName('overBox')[0]; // document.body.removeChild(dom) if (status >= 200 && status < 300) { callback && callback(JSON.parse(xhr.responseText), xhr.responseXML); } else { console.log('请求失败!!'); } } } //连接 和 发送 - 第二步 xhr.open("POST", LOCAL_SERVER+URL, true); //设置表单提交时的内容类型 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //启动遮罩层 // var dom = document.createElement('div') // dom.innerHTML = '<div class="fa fa-spinner fa-2x fa-pulse tc"></div>'; // dom.classList.add('overBox') // document.body.appendChild(dom) xhr.send(params); function formatParams(data) { var arr = []; for (var name in data) { arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(data[name])); } //arr.push(("v=" + Math.random()).replace(".","")); return arr.join("&"); } }
相关文章推荐
- javascript/js 原生动态插入外部js文件及动态插入js代码片段,兼容ie
- IE9以下版本浏览器不兼容JavaScript功能解决方案合集
- vue.js 2.0 版本—写一个模拟后台数据请求
- javascript原生bind方法ie低版本兼容详解
- JS读取XML文件数据并以table显示数据(兼容IE火狐)
- 监听浏览器使用不同版本js并且处理ie兼容getElementByClassName
- pako.js对数据进行gzip压缩传递到后台解析,解决数据量大的请求问题
- 让AngularJS兼容IE8及其以下浏览器版本的方法
- 基于原生javascript的淡入淡出函数封装(兼容IE)
- 原生JavaScript写post请求导出数据
- IE10及其以下版本不支持Javascript Map对象(“Map”未定义)
- js封装id与class选择器代码,兼容ie低版本
- 4.Android与JS的交互(兼容API 17以下版本)
- 兼容ie10以下版本的placeholder属性
- js原生网络请求数据
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- javascript/js对html元素自定义属性的操作(兼容Firefox和IE)
- IE9以下版本兼容HTML5方法
- 原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。
- JavaScript的Ajax数据请求与浏览器兼容