http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=ajax&wr_id=6&page=2
에 배틀제이 님이 올려주신 예제로 소개해 드리겠습니다.
의외로 쉽고 활용도가 높습니다.
<script language="JavaScript">
function getHttprequest(URL) {
// 기본적인 변수 선언
var xmlhttp = null;
// FF일 경우 window.XMLHttpRequest 객체가 존재한다.
if(window.XMLHttpRequest) {
// FF 로 객체선언
xmlhttp = new XMLHttpRequest();
} else {
// IE 경우 객체선언
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// GET 모드로 URL 주소의 값을 가져온다
// 주의 해야 할점은 무조건 UTF 로 값이 들어옴
xmlhttp.open('GET', URL,false);
// 값을 가져 왔을경우 호출할 메소드를 바로 선언
xmlhttp.onreadystatechange = function() {
// readyState 가 4 고 status 가 200 일 경우 올바르게 가져옴
if(xmlhttp.readyState==4 && xmlhttp.status == 200 && xmlhttp.statusText=='OK') {
// responseText 에 값을 저장
responseText = xmlhttp.responseText;
}
}
xmlhttp.send('');
// 가져온 xmlhttp 객체의 responseText 값을 반환
return responseText = xmlhttp.responseText;
}
function replace(URL) {
document.getElementById('replace_area').innerHTML = getHttprequest(URL);
}
</script>
<div id='replace_area'> 냐하하~~ </div>
<a href = 'javascript:replace('test.php?bo_table=<?=bo_table?>&wr_id=<?=$wr_id?>');'> 가져오기 </a>
위 소스는 '가져오기' 를 클릭시 'test.php' 를 통해 출력되는 결과를 innerHTML 로
<div id='replace_area'></div> 속에 넣게 됩니다. '냐하하' 는 사라 지겠죠.
이때 화면의 리로드는 일어 나지 않으면서 출력 화면을 변화 시킬 수 있습니다.
즉 필요한 데이터만 가져다가 화면에 뿌려 줄 수 있다는 점이 장점입니다.
기존에 팝업창으로 해결해야 했던 부분들을 이러한 방법으로 화면내에 처리 할 수 있고,
실시간으로 테이터를 리플레쉬 할 수 도 있는 등 써 먹을때가 무척 많습니다.
단 주의하실 점은 XMLHttpRequest 로 받아 오는 데이터가 UTF-8 로 출력되기에 본인의 환경에 맞게
iconv 등을 통해서 EUC-KR 등으로 변환하는 과정이 필요합니다.
ob_start();
줄줄이 내용~~~~~~
$data = ob_get_contents();
ob_end_clean();
echo iconv("CP949", "UTF-8", $data);
요런게 한 방법이 되겠죠?
( 반대로 한글 변수를 전달 시에는 UTF-8 로 변환 전송 해야합니다. )
그리고 그냥 innerHTML 로 삽입시 가져온 문서에 스크립트가 있는 경우 작동을 안하는 경우가
있는데 <script DEFER language="JavaScript"> 식으로 DEFER 을 넣으면 되기도 하던데,
전문가가 아니라 잘 모르겠네요.
저 같이 프로그램 전문가가 아닌 분들을 위해 함 적어 봤습니다.
혹 오류 있으면 지적 부탁드리고요. ajax 란게 어려워 보여도 좋은 소스들이 많이 나와 있어서
그러한 소스들 적용하는 방법만 익히는 거라면 그리 어렵지는 않은 거 같습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:49:28 Prototype에서 이동 됨]</div>
에 배틀제이 님이 올려주신 예제로 소개해 드리겠습니다.
의외로 쉽고 활용도가 높습니다.
<script language="JavaScript">
function getHttprequest(URL) {
// 기본적인 변수 선언
var xmlhttp = null;
// FF일 경우 window.XMLHttpRequest 객체가 존재한다.
if(window.XMLHttpRequest) {
// FF 로 객체선언
xmlhttp = new XMLHttpRequest();
} else {
// IE 경우 객체선언
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// GET 모드로 URL 주소의 값을 가져온다
// 주의 해야 할점은 무조건 UTF 로 값이 들어옴
xmlhttp.open('GET', URL,false);
// 값을 가져 왔을경우 호출할 메소드를 바로 선언
xmlhttp.onreadystatechange = function() {
// readyState 가 4 고 status 가 200 일 경우 올바르게 가져옴
if(xmlhttp.readyState==4 && xmlhttp.status == 200 && xmlhttp.statusText=='OK') {
// responseText 에 값을 저장
responseText = xmlhttp.responseText;
}
}
xmlhttp.send('');
// 가져온 xmlhttp 객체의 responseText 값을 반환
return responseText = xmlhttp.responseText;
}
function replace(URL) {
document.getElementById('replace_area').innerHTML = getHttprequest(URL);
}
</script>
<div id='replace_area'> 냐하하~~ </div>
<a href = 'javascript:replace('test.php?bo_table=<?=bo_table?>&wr_id=<?=$wr_id?>');'> 가져오기 </a>
위 소스는 '가져오기' 를 클릭시 'test.php' 를 통해 출력되는 결과를 innerHTML 로
<div id='replace_area'></div> 속에 넣게 됩니다. '냐하하' 는 사라 지겠죠.
이때 화면의 리로드는 일어 나지 않으면서 출력 화면을 변화 시킬 수 있습니다.
즉 필요한 데이터만 가져다가 화면에 뿌려 줄 수 있다는 점이 장점입니다.
기존에 팝업창으로 해결해야 했던 부분들을 이러한 방법으로 화면내에 처리 할 수 있고,
실시간으로 테이터를 리플레쉬 할 수 도 있는 등 써 먹을때가 무척 많습니다.
단 주의하실 점은 XMLHttpRequest 로 받아 오는 데이터가 UTF-8 로 출력되기에 본인의 환경에 맞게
iconv 등을 통해서 EUC-KR 등으로 변환하는 과정이 필요합니다.
ob_start();
줄줄이 내용~~~~~~
$data = ob_get_contents();
ob_end_clean();
echo iconv("CP949", "UTF-8", $data);
요런게 한 방법이 되겠죠?
( 반대로 한글 변수를 전달 시에는 UTF-8 로 변환 전송 해야합니다. )
그리고 그냥 innerHTML 로 삽입시 가져온 문서에 스크립트가 있는 경우 작동을 안하는 경우가
있는데 <script DEFER language="JavaScript"> 식으로 DEFER 을 넣으면 되기도 하던데,
전문가가 아니라 잘 모르겠네요.
저 같이 프로그램 전문가가 아닌 분들을 위해 함 적어 봤습니다.
혹 오류 있으면 지적 부탁드리고요. ajax 란게 어려워 보여도 좋은 소스들이 많이 나와 있어서
그러한 소스들 적용하는 방법만 익히는 거라면 그리 어렵지는 않은 거 같습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:49:28 Prototype에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 10331 | |
| 28724 |
HTML
싸이월드 둥근 테두리 만드는 방법
2
|
| 10329 | |
| 10328 | |
| 10326 |
JavaScript
히스토리 브러시 툴(History Brush Tool, 단축키 - Y)
1
|
| 10324 | |
| 10323 | |
| 28723 | |
| 10322 |
JavaScript
슬라이스 툴- Slice Tool (단축키 K)
|
| 10321 | |
| 10320 | |
| 28722 | |
| 10318 | |
| 28719 |
HTML
포토샵 레이어의 이해
2
|
| 10317 |
JavaScript
포토샵 해상도의 종류
|
| 10314 | |
| 10312 | |
| 28716 |
HTML
점선 그리는 법...
2
|
| 10308 |
Flash
포토샵에서 쓰이는 파일정보 입니다.
3
|
| 10307 |
JavaScript
♣ 영문으로 보이는 한글폰트를 한글명으로
|
| 10306 | |
| 10305 | |
| 28715 |
HTML
일러스트 단축키2
|
| 10304 |
JavaScript
일러스트 단축키
|
| 10303 | |
| 28714 | |
| 10302 |
Flash
자동으로 창크기 변환
|
| 28713 |
HTML
XP서비스팩2 무시하고 새창 띄우기
|
| 10301 |
MySQL
mysql table 유뮤 확인 코딩[펌]
|
| 10300 |
PHP
php환경 변수 출력
|
| 10299 | |
| 10296 |
기타
연합뉴스 뉴스티커
2
|
| 10294 | |
| 10293 | |
| 10292 | |
| 10291 |
JavaScript
ls 명령에서 LS_COLOR 환경변수로 확장자별 색 바꾸기
|
| 10289 |
JavaScript
php 날짜, 시간 함수 관련 팁
1
|
| 10285 |
PHP
PHP팁 (보안 등)
3
|
| 28711 |
HTML
개행문자 없애기[펌]
1
|
| 10281 |
Flash
swf 바탕빼서 적용하기
3
|
| 10279 |
Flash
mp3 play 플래시 소스입돠~
1
|
| 28710 | |
| 10278 | |
| 10277 | |
| 10276 | |
| 28709 | |
| 10273 | |
| 10270 |
JavaScript
돌맹이로 글자쓰기 ㅡㅡ;; 강좌...
2
|
| 10269 |
JavaScript
주소 보여주기 시를 때 제가 자주 쓰는 방법 이건 조회수 빵이다 ㅡ0ㅡ;
|
| 10267 | |
| 28708 | |
| 10266 | |
| 10264 | |
| 10263 |
JavaScript
마우스 오버시에 텍스트 버튼느낌 style.css 와 자동 스크롤 기능
|
| 10261 | |
| 28707 |
HTML
웹 폰트 적용 시키기 - 초보자용 -
|
| 10260 |
JavaScript
접속때마다 음악 다르게 나오기
|
| 10256 |
JavaScript
img 태그에 border=0을 넣지 않고 적용
3
|
| 10255 | |
| 28706 |
HTML
페이지 자동 이동 방법 3가지!!!
|
| 10253 | |
| 28704 |
HTML
body옆의 스크롤바흔적없애기
1
|
| 10250 |
기타
소스훔쳐보기
2
|
| 28703 |
HTML
마우스 오른쪽 버튼 사용금지
|
| 28702 |
HTML
마우스 룰오버시 여러가지 효과내기
|
| 10249 |
Flash
스위시 무비를 플래시에서 들여오기할 때
|
| 10247 |
Flash
SWF 파일 용량 줄이기
1
|
| 10245 | |
| 10243 | |
| 10240 |
Flash
4. 자주 쓰는 플래시 액션스크립트 용어
2
|
| 10239 | |
| 10238 |
Flash
2. 무비 크기를 줄이기 위한 10가지 방법
|
| 10237 |
Flash
1. 메뉴보다 빠른 단축키(Hot Key)들
|
| 10235 |
Flash
여러가지팁
1
|
| 10225 | |
| 28700 |
HTML
포토샾 팁 72가지
1
|
| 10213 | |
| 10210 | |
| 10207 | |
| 10205 | |
| 10204 | |
| 28693 | |
| 10198 |
Flash
실시간채팅창 붙이기 플래시 버튼액션..
5
|
| 10195 |
JavaScript
php폼메일로 일본어 메일 보내기
2
|
| 10191 |
JavaScript
원하는 부분만 프린트하기.
3
|
| 24785 | |
| 28674 |
HTML
디렉토리 이미지 뷰어
18
|
| 24784 | |
| 10189 | |
| 10187 | |
| 10182 | |
| 28669 | |
| 10181 | |
| 10175 | |
| 24779 | |
| 24772 | |
| 10173 | |
| 10168 |
JavaScript
웹호스팅서버 보안 - Open DNS 막기
4
|
| 10163 | |
| 10160 |
JavaScript
자동 스크롤 메뉴 (끄기 기능)
2
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기