자주보는 Ajax 관련된 사설입니다.
Ajax on Rails 시간날 때 한번 해석해 보시길..
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XMLHttpRequest</title>
<link rel="stylesheet" href="commcss.css" type="text/css" />
<script language="javascript" type="text/javascript">
// XMLHttpRequest 생성
var ResponseText = "";function newXMLHttpRequest()
{
var reqHttp;
if (window.ActiveXObject)
{ // IE
try
{
reqHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
reqHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1)
{
reqHttp = null;
}
}
}
else if (window.XMLHttpRequest)
{ // IE 이외
try
{
reqHttp = new XMLHttpRequest();
}
catch (e)
{
reqHttp = null;
}
}
return reqHttp;
}// 데이터 송수신
function openSendStatus(url, method)
{
var xmlHttp = newXMLHttpRequest(); //XMLHttpRequest 생성
xmlHttp.open(method, url, true); //전송방법,URL,통신방법
xmlHttp.onreadystatechange = function()
{ //처리상태 변경 발생
if (xmlHttp.readyState == 4)
{ //서버 처리 완료
if (xmlHttp.status == 200)
{ //파일 수신 성공
mainControl(xmlHttp); //메인 처리
}
}
}
xmlHttp.send(""); //서버 처리 데이터
}//메인 처리
function mainControl(xmlHttp)
{
ResponseText = xmlHttp.responseText; //서버 파일
}
// 사용자 함수
function loadPage(url, targetId)
{
openSendStatus(url,'GET');
document.getElementById(targetId).innerHTML = ResponseText;
}
</script>
</head><body>
<h1>XMLHttpRequest</h1><div>
<input type="button" id="btnclick" name="btnclick" value="서버 파일 수신"
onclick="loadPage('./AjaxTest1.html','rcvData')" />
</div>
<div id="datashow">
<div id="rcvData"></div>
</div></body>
</html>
// getFile 함수
// 파일을 읽어 파일 내용을 '문자열(string)'로 반환한다.
// @param url string - 파일의 경로
// @return string '파일 내용' / bool false
function getFile(url)
{
// 인터넷 익스플로어러가 아닌 경우 XMLHttpRequest COM 객체를 호출
if (window.XMLHttpRequest) {
AJAX=new XMLHttpRequest();
} else {
// 인터넷 익스플로어러인 경우 Microsoft.XMLHTTP 객체를 ActiveX로 호출
AJAX=new ActiveXObject("Microsoft.XMLHTTP");
}
// XMLHttpRequest 객체를 생성 했으면
if (AJAX) {
// GET 방식으로 입력받은 'url'으로 stream을 연다.
AJAX.open("GET", url, false);
// 스트림에 값을 전송한다.
AJAX.send(null);
// 스트림에서 내용을 받아와서 결과 값으로 반환해준다.
return AJAX.responseText;
} else {
// XMLHttpRequest에 실패했다.
return false;
}
}
// 위에서 작성된 함수를 가지고 'http:// ... .. ' 위치에서 파일의 내용을 읽어와 변수에 할당
var fileFromServer = getFile('http://somedomain.com/somefile.txt');
// fileFromServer 변수 안에는 txt파일의 내용이 들어있다.