xhr 原生兼容写法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 原生兼容写法的主要内容,如果未能解决你的问题,请参考以下文章