XpressEngine에 관련 내용에 대해서 이야기 합니다.
글 수 193
이라고는 했지만 XMLHttpRequest 써서 사용했습니다.
혹시나 필요로 하시는 분들이 계실지도 몰라 알려드릴까 합니다. ^^
http://도메인/zbxe/?mid=모듈명&aaa=111
이런식으로 외부페이지에서 이용하게 될 경우 뒤에 aaa가 변수로써 인식 못하게 되지요...
그래서 저는 그냥 따로 XMLHttpRequest를 써서 이용헀습니다.
XMLHttpRequest의 역할은 제로XE에서 글 저장할때 화면은 안움직이고 데이터 전송해서 처리하는 뭐 그런 역할입니다.
xmlhttp.js <-이름은 하기 나름
var xmlProc = null;
if( window.XMLHttpRequest ){
xmlProc = new XMLHttpRequest();
}
else{
xmlProc = new ActiveXObject("Microsoft.XMLHTTP");
}
function $(element){
return document.getElementById(element);
}
// XMLHttpRequest 처리
function Ajaxmove(func, url){
if( xmlProc ){
xmlProc.open('GET', url, true);
xmlProc.onreadystatechange = function() {
switch(xmlProc.readyState){
case 1 : //url 내용을 Loading 중 일때
break;
case 2 : //url 내용을 서버가 처리 준비 중 일때
break;
case 3 : //url 내용을 서버가 처리 중 일때
break;
case 4 : //url 내용을 처리 완료 일때
switch(xmlProc.status){
case 403 : //접근 거부가 났을때
break;
case 404 : //파일 및 경로에 내용이 존재하지 않을때
break;
default: // 성공 일때
if((xmlProc.status >= 200) && (xmlProc.status <= 299)){
eval(func+"()"); //#함수로 사용할 시
//$(func).innerHTML = xmlProc.responseText; //# getElementById 로 바로 사용할 시 출력
}else{
alert('error');
}
break;
}
break;
default:
break;
}
}
xmlProc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlProc.send(null);
}
}
// 함수로써 사용할시
function data_rss(){
$('data_rss').innerHTML = xmlProc.responseText;
}
//
위 파일을 하나 만드셔서 원하는 곳에 두십시오.
녹색부분으로 쓴 내용은 function으로 해서 출력 이외의 용도로 쓸 경우와 그냥 목적ID로 출력만 할 경우로 했습니다.
외부페이지에 설정될 파일안에 들어갈 내용
<script type="text/javascript" src="원하는위치/xmlhttp.js"></script>
<div id="원하시는이름"></div>
<a href="링크주소" onclick="Ajaxmove('ID명이나혹은함수명',this.href); return false;">메인 자료실</a>
테스트 페이지를 보여주고 싶지만 자료실 용도로 집에있는 곳과 연동을 시켜놔서 보여드릴 수가 없네요....^^;
자세히 설명해주시면 안될까요?
예제파일이라도..
언제나 수고하십니다.