본문 바로가기

Java/AJAX

XMLHttpRequest 모듈 : httpRequest.js

====================
httpRequest.js
====================
function getXMLHttpRequest() {
    if (window.ActiveXObject) {
        try {
            return new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                return new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e1) { return null; }
        }
    } else if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else {
        return null;
    }
}
//생성된 XMLHttpRequest 객체를 저장할 전역변수
var httpRequest = null;

function sendRequest(url, params, callback, method) {
    httpRequest = getXMLHttpRequest();
    var httpMethod = method ? method : 'GET';
    if (httpMethod != 'GET' && httpMethod != 'POST') {
        httpMethod = 'GET';
    }
    var httpParams = (params == null || params == '') ? null : params;
    var httpUrl = url;
    if (httpMethod == 'GET' && httpParams != null) {
        httpUrl = httpUrl + "?" + httpParams;
    }
    httpRequest.open(httpMethod, httpUrl, true);
    httpRequest.setRequestHeader(
        'Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.onreadystatechange = callback;
    httpRequest.send(httpMethod == 'POST' ? httpParams : null);
}
====================
사용 예제 : hellApp.html
====================
<!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" xml:lang="ko" lang="ko">
<head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr" />
    <title>안녕하세요!</title>
    <script type="text/javascript" src="httpRequest.js"></script>
    <script type="text/javascript">
    function helloToServer() {
        var params = "name="+encodeURIComponent(document.f.name.value);
        sendRequest("hello.jsp", params, helloFromServer, "POST");
    }
    function helloFromServer() {
        if (httpRequest.readyState == 4) {
            if (httpRequest.status == 200) {
                alert("서버응답:"+httpRequest.responseText);
            }
        }
    }
    </script>
</head>
<body>
<form name="f">
<input type="text" name="name" />
<input type="button" value="입력" onclick="helloToServer()" />
</form>
</body>
</html>
====================
hell.jsp
====================
<%@ page contentType="text/plain; charset=euc-kr" %>
<%
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("name");
%>
안녕하세요, <%= name %> 회원님!



출처 : 최범균의 AJAX

'Java > AJAX' 카테고리의 다른 글

clock.html  (0) 2009.08.04
Simple한 Ajax 예제  (0) 2009.08.04