좋은 웹 프로그래머 말단 공유 말초 자바 스크립트 튜토리얼 아약스 포장 행사
---- 아약스를 캡슐화 실질적 있어야합니다
기능 아약스 (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);
}
}
}