XMLHttpRequest 객체의 인스턴스의 onreadystatechange 값에 함수명을 기입함으로써,
상태 변화시 호출되는 함수를 지정하였습니다.
이렇게 할 경우, 호출되는 함수는 1개뿐이며, 만약 이 함수를 바꿔주고 싶으면...
어떻게 해야할까요.
함수명을 바로 기입하면 될까요? 안됩니다.
Ajax 호출 흐름과 기본적인 준비 운동 2/2 에서 처럼 callRequest() 함수를 만들어서 호출시 활용하는데,
만약 이 callRequest 함수를 보다 범용적으로~~~ ^^
바꾸고자 한다면, 어떻게?? open 함수도 맘대로 셋팅할 수 있고.. 하도록요.
그러면, 다음과 같이 eval함수를 이용할 경우 편리합니다.
그럼 Ajax 호출 흐름과 기본적인 준비 운동 2/2 에 있는 callRequest 함수를 개량해보도록 하죠.
상태 변화시 호출되는 함수를 지정하였습니다.
이렇게 할 경우, 호출되는 함수는 1개뿐이며, 만약 이 함수를 바꿔주고 싶으면...
어떻게 해야할까요.
함수명을 바로 기입하면 될까요? 안됩니다.
Ajax 호출 흐름과 기본적인 준비 운동 2/2 에서 처럼 callRequest() 함수를 만들어서 호출시 활용하는데,
만약 이 callRequest 함수를 보다 범용적으로~~~ ^^
바꾸고자 한다면, 어떻게?? open 함수도 맘대로 셋팅할 수 있고.. 하도록요.
그러면, 다음과 같이 eval함수를 이용할 경우 편리합니다.
그럼 Ajax 호출 흐름과 기본적인 준비 운동 2/2 에 있는 callRequest 함수를 개량해보도록 하죠.
function callRequest(type, url, fName) {
getXmlHttpRequestObject();
xmlHttp.onreadystatechange = eval(fName);
xmlHttp.open(type, url, true);
xmlHttp.send(null);
}
getXmlHttpRequestObject();
xmlHttp.onreadystatechange = eval(fName);
xmlHttp.open(type, url, true);
xmlHttp.send(null);
}
이렇게 해주시면 됩니다.
그럼 fName으로 넘어오는 함수명으로 지정된 함수가 readyState 값 변화시 호출되도록 할 수 있습니다.
의외로 쓸만한데가 많더군요..
반응형