주 프런트 엔드 웹 프런트 엔드 자바 스크립트 튜토리얼에 좋은 프로그래머는 아약스 패키지 행사

좋은 웹 프로그래머 말단 공유 말초 자바 스크립트 튜토리얼 아약스 포장 행사
---- 아약스를 캡슐화 실질적 있어야합니다
기능 아약스 (URL, FN) {
IF (window.XMLHttpRequest) {
var에 = 새로운 새로운 XHR는 XMLHttpRequest를 ();
}는 다른 {
var에 = ActiveXObject 새로운 새 XHR ( "에서는 Microsoft.XMLHTTP는");
}

xhr.open("get",url,true);
xhr.send();

xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status == 200){
            var data = xhr.responseText;
            fn(data);
        }
    }
}}

아약스的完整封装
기능 아약스 (OBJ) {
// OBJ -> URL을 입력 데이터 성공
var에 STR = "";
(obj.data의 VAR 키) {대한
STR + = + 키 "="+ obj.data [키] + "및";
}
// str.substring STR = (0, str.length-1);
STR = str.replace (/ 및 $ / ' ");

if(window.XMLHttpRequest){
    var xhr = new XMLHttpRequest();
}else{
    var xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

if(obj.type.toUpperCase()=="GET"){
    if(obj.data){
        var url = obj.url + "?" + str;
    }else{
        var url = obj.url;
    }

    xhr.open("get",url,true);
    xhr.send();
}
if(obj.type.toUpperCase()=="POST"){
    xhr.open("post",obj.url,true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(str);
}

xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status == 200){
            var data = xhr.responseText;
            obj.success(data);
        }
    }
}

추천

출처blog.51cto.com/14573321/2454202