IE, Firefox 브 라 우 저 ajax 쓰기 호 환, Net 은 백 엔 드 서버 의 구조 개발

웹 방식 의 GPS 차량 적재 포 지 셔 닝 시스템 을 만 들 었 고 자신 이 Ajax 처리 류, 클 라 이언 트 인터페이스 Ext 2.0, 배경 C \ # 로 쓴 서버 를 사용 했다.(백 엔 드 서버 는 이미 다 되 었 으 니 상관 하지 마 세 요). 시스템 개발 초기 에 IE, FireFox 를 호 환 하려 고 했 으 나 FireFox 테스트 를 할 때 문제 가 발생 했 습 니 다. 클 라 이언 트 가 서버 에 명령 을 보 내 는 데 성 공 했 지만 응답 메 시 지 를 받 아들 일 수 없습니다 (IE 는 문제 가 없습니다).
 
그 동안 웹 방식 의 시스템 으로서 저 는 개인 적 으로 2 가지 이상 의 주류 브 라 우 저 를 호 환 해 야 한다 고 생각 합 니 다. 그래서 Firefox 의 호 환 은 필수 입 니 다.
이 Ajax 클래스 는 IE, FireFox 를 호 환 합 니 다.
var Ajax=function(){
    this.http_request=false;
    return{
        init:function(){
            this.createAjaxObj();
        },
        createAjaxObj:function(){
                //  XMLHttpRequest   
                if (window.XMLHttpRequest) 
                {   //Mozilla     
                    this.http_request = new XMLHttpRequest(); 
                    if (this.http_request.overrideMimeType) 
                    {//  MiME   
                        this.http_request.overrideMimeType("text/xml"); 
                    }
                }else if (window.ActiveXObject) 
                { // IE    
                            try 
                            { 
                                this.http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
                            }
                            catch (e) 
                            { 
                                try 
                                { 
                                    this.http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
                                } 
                                catch (e) 
                                { 
                                } 
                            }
                        } 
                if (!this.http_request) { //   ,         
                    //"    XMLHttpRequest    " 
                    window.alert("    XMLHttpRequest    .."); 
                    return false; 
                } 
        },
        sendRequest:function(method,url,content){
        
           
            //           URL             
            if (method.toLowerCase() == "get") 
            { 
                if(navigator.userAgent.indexOf("MSIE")<=0){
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
                }
                this.http_request.open(method, url, false); 
                this.http_request.send(null); 
            } 
            else 
            { 
                if (method.toLowerCase() == "post") 
                { 
                    this.http_request.open(method, url, false); 
                    this.http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
                    this.http_request.send(content); 
                } 
                else 
                { 
                    //http         
                    window.alert("http        .."); 
                    return false; 
                } 
            } 
            //         
            //       
            if (this.http_request.readyState == 4) 
            { 
                //         ,       
                if (this.http_request.status == 200) 
                { 
                    //           
                    return this.http_request.responseText; 
                    //   XML      alert(http_request.responseXML); 
                } 
                else 
                { 
                    //      
                    //"          " 
                    alert("          "); 
                } 
            } 
        },
        processResponse:function(){
             
        },
        addParamsGET:function(sURL,key,value)
        {  
            sURL+=(sURL.indexOf("?")==-1?"?":"&");
            sURL+=(key+"="+value);
            return sURL;
        },
        addParamsPOST:function(key,value){
            var params="&";
                params+=(key+"="+value);
            return params;
        },
        getTime:function(){
            var DateTime=new Date();
            return  DateTime.getFullYear()+"-"+(DateTime.getMonth()+1)+"-"+DateTime.getDate()+" "+DateTime.getHours()+":"+DateTime.getMinutes()+":"+DateTime.getSeconds();
        }
    };
    
}

 
그동안 호 환 되 지 않 은 이 유 는 Firefox 의 데이터 접근 권한 이 설정 되 어 있 지 않 기 때 문 입 니 다. (크로스 필드)
해결 방법:
           FireFox -- > about: config -- > signed. applets. codebase principal support 를 true 로 설정 합 니 다.
xmlHttp. open ("GET", url, false) 방법 전에 다음 코드 를 추가 합 니 다.
               //IE 브 라 우 저 아니면 실행
                if(navigator.userAgent.indexOf("MSIE")<=0){                     netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");                 }
 

좋은 웹페이지 즐겨찾기