首页 > 代码库 > xhr 原生兼容写法
xhr 原生兼容写法
- // create xhr object cross browser
- function createXHR() {
- if(typeof XMLHttpRequest != ‘undefined‘){
- return new XMLHttpRequest();
- }
- else if(typeof ActiveXObject != ‘undefined‘){
- if(typeof arguments.callee.activeXString != ‘string‘){
- var versions = [‘MSXML2.XMLHttp.6.0‘,‘MSXML2.XMLHttp.3.0‘ ,‘MSXML2.XMLHttp‘], // ie browser different vesions
- i,len;
- for(i=0,len=versions.length; i<len;i++){
- try{
- new ActiveXObject(versions[i]);
- arguments.callee.activeXString = versions[i];
- break;
- }
- catch(ex){
- // jump
- }
- }
- }
- return new ActiveXObject(arguments.callee.activeXString);
- }
- else{
- throw new Error(‘No XHR object available.‘);
- }
- }
- function xhrRequest(url,callback){
- var xhr = createXHR();
- xhr.onreadystatechange = function(){
- if(xhr.readyState == 4){
- if((xhr.status >= 200 && xhr.status<300) || xhr.status == 304){ //200 表示相应成功 304 表示缓存中存在请求的资源
- // 对响应的信息写在回调函数里面
- var str = xhr.status+‘ ‘+xhr.responseText;
- callback(str);
- }
- else{
- return ‘request is unsucessful ‘+xhr.status;
- }
- }
- }
- xhr.open(‘get‘,url,true);
- xhr.send();
- }
- function hundler(data){
- console.log(data);
- }
- window.onload = function(){
- xhrRequest(‘resource.txt‘,hundler);
- }
xhr 原生兼容写法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。