1) 스크립트 코드
<script type="text/javascript">
var xmlHttp;
//서버 연동을 위한 객체를 만드는 함수
function createHttp(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttp=new XMLHttpRequest();
}
}
function startRequest(){
createHttp(); // 통신을 위한 객체 생성
// 서버가 응답하면 수행할 callback함수를 등록한다.
xmlHttp.onreadystatechange=callback;
// Get방식일 경우, 다음과 같이 요청.
var str=document.f1.login.value;
// 한글 처리를 위해 사용
var url="/ajax1/login?login="+escape(encodeURIComponent(str));
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
// 서버가 응답하면 수행할 함수
function callback(){
// readystate 요청 상태 - 4 : complete
if(xmlHttp.readyState==4){
// 서버로부터 응답 상태 - 200 : ok
if(xmlHttp.status==200){
// responseText - 서버에서 응답한 데이터가 저장
alert(xmlHttp.responseText);
document.f1.login.value="";
document.f1.login.focus();
}
}
}
</script>
----------------------------------------------------------------------------------------------------------
2) 서블릿 코드
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=euc-kr"); // response 한글처리
/**
* 헤더에 노캐쉬를 지정하는 이유는 캐쉬된 문서를 사용하지 않고,
* 요청 때마다 업데이트 되도록 지정하기 위해서이다.
*/
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
String param=request.getParameter("login");
param=URLDecoder.decode(param,"UTF-8"); // 파라미터값 한글처리
if(param!=null && param!=""){
if(param.equals("자바")){
out.print("login success~~~~^^");
}else{
out.print("login fail~~~~T.T");
}
}else{
out.println("null.....");
}
out.flush();
out.close();
}
[출처] Ajax 파라미터값 한글처리|작성자 쿠우
'프로그래밍 > Ajax' 카테고리의 다른 글
IE에서의 문제 (0) | 2011.08.24 |
---|---|
IE에서 innerHTML시 에러 (0) | 2011.05.26 |
ajax로 textarea 의 값 변경시 문제점 (0) | 2010.03.11 |