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>
테스트 페이지를 보여주고 싶지만 자료실 용도로 집에있는 곳과 연동을 시켜놔서 보여드릴 수가 없네요....^^;
자세히 설명해주시면 안될까요?
예제파일이라도..
언제나 수고하십니다.