본문 바로가기
HTML

ASP-ajax 에서 한글처리, jQuery 레이어 호출 및 ajax 파일 호출

by JUNG-2503 2024. 2. 15.

  1. ASP-ajax 에서 한글처리
  2. jQuery 레이어 호출 및 ajax 파일 호출

 

ASP, ajax 에서 한글처리

 

부모 파일 - ASP, euc-kr, ANSI 모드 저장 

ajax 파일 - ASP

 

이 경우 부모파일(asp)에서 ajax로 자식파일(asp)의 한글 데이타를 호출 할 경우 한글이 깨지는 문제가 있음.

 

해결 방법은 아래 2가지 중 테스트해서 결정

1, 2번 모두 성공했음...

 

1.  euc-kr, ANSI 모드 저장

아래와 같이 선언

 

<%
Response.CharSet = "euc-kr"
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "Expires","0"
%>

 

2. utf-8 저장

아래와 같이 선언

 

<% @LANGUAGE='VBSCRIPT' CODEPAGE='65001' %>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

 

첨부 파일 참고   

 

---

부모소스 UTF8

<% @ codepage="65001" language="VBScript" %>

<!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=UTF-8"/>
 <title> ##### </title>

...

 

 

자식소스 UTF8

<% @ codepage="65001" language="VBScript" %>

 

<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8""/> 추가

자바스크립트 알람도 한글 정상 출력됨.

 

layerPop.htm
0.00MB
demo_ajax_load.asp
0.00MB
ajax_load.asp
0.00MB
jquery-1.8.2.js
0.26MB

 

 

 

jQuery 레이어 호출 및 ajax 파일 호출

 

div 태그 내용을 원하는 클릭에서 노출 시키는 코드임.

마우스 클릭 위치를 정확히 계산하여 표시

ajax 사용하여 비동기식으로 내용을 호출하여 표시

ie, firefox, chrome등에 호환

 

----------

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>레이어 팝업 및 클릭시 마우스 위치</title>
<script src="/programming/jquery-1.8.2.js"></script>
<style type="text/css">
body{margin:0; padding:0;}
#layer_1{display:block; width:180px; height:200px; background:#d7d7d7;border:1px dotted #FF0000;}
#layer_2{display:block; width:180px; height:200px; background:#d7d7d7;border:1px dotted #FF0000;}
#layer_3{display:block; width:180px; height:200px; background:#d7d7d7;border:1px dotted #FF0000;}
#layer_4{display:block; width:180px; height:200px; background:#d7d7d7;border:1px dotted #FF0000;}
#layer_5{display:block; width:180px; height:200px; background:#d7d7d7;border:1px dotted #FF0000;}
#layer_ajax{display:block; width:200px; background:#d7d7d7;border:1px dotted #FF0000;}

#contents{background:gray;}
.layerBtn_1{display:inline-block; padding:5px; height:1%; border:1px dotted #ccc;}
</style>
<script type="text/javascript">
var view_layer_value;
var view_layer_content;

 $(document).ready(function() {
  $("#layer_1").hide();
  $("#layer_2").hide();
  $("#layer_3").hide();
  $("#layer_4").hide();
  $("#layer_5").hide();
  $("#layer_ajax").hide();

  $("body").css("position","relative");

  $(".layer_show").click(function(e) {
   //alert(e.pageX);   현재 X 위치
   //alert(e.pageY);   현재 Y 위치
   view_layer_value = document.frm.view_layer.value;
   content = "레이어:" + view_layer_value +" 영역 변경된 값<br><br><br><a href='javascript:Hide()'>닫기</a>";

   $(view_layer_value).show();
   $(view_layer_value).css({"position":"absolute","left":e.pageX+50+"px","top":e.pageY+"px"});
   $(view_layer_value).html(content)

   return false;
  });

 $("#layer_ajax").ajaxStart(function(){
  $("#wait").css("display","block");
 });
 
 $("#layer_ajax").ajaxComplete(function(){
  $("#wait").css("display","none");
 });

 $("#layer_ajax").ajaxError(function(){
  alert("An error occured!");
 });

 $(".layer_show_ajax").click(function(e){
  
  //아래 코드 실행  
  $.ajaxSetup({
   url:"demo_ajax_load.asp?id=10",  
   success:function(result) { 
    $("#layer_ajax").html(result);
   }  
  }); 
  
  $.ajax();
  
  //또는 아래 코드 실행
  //$("#layer_ajax").load("demo_ajax_load.asp");

  $("#layer_ajax").css({"position":"absolute","left":e.pageX+50+"px","top":e.pageY+"px"});
  $("#layer_ajax").show();  
 });

});

function Hide(){
 view_layer_value = document.frm.view_layer.value;
 content = "";

 $(view_layer_value).removeAttr("style");
 $(view_layer_value).html(content)
 $(view_layer_value).hide();
}

function LayerCheck(divObj){
 document.frm.view_layer.value = divObj;
}
</script>
</head>
<body>
<form name=frm>
 <input type="hidden" name=view_layer value="">
</form>
<div id="contents">
내용이 들어가는 곳<br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_1')" class="layer_show">aaa</a>
<br><br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_2')" class="layer_show">eee</a>
<br><br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_3')" class="layer_show">bbb</a>
<br><br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_4')" class="layer_show">ccc</a>
<br><br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_5')" class="layer_show">ddd</a>
<br><br><br><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#layer_1" onclick="LayerCheck('#layer_ajax')" class="layer_show_ajax">fff</a>
<br><br>끝</div>

<div id="layer_1">레이어팝업 1영역</div>
<div id="layer_2">레이어팝업 2영역</div>
<div id="layer_3">레이어팝업 3영역</div>
<div id="layer_4">레이어팝업 4영역</div>
<div id="layer_5">레이어팝업 5영역</div>

<div id="layer_ajax">레이어팝업 Ajax 영역</div>

<div id="wait" style="display:none;width:65px;height:80px;border:1px solid black;position:absolute;top:50%;left:50%;padding:2px;background-color:white;text-align:center;font-family:Tahoma;font-size:10pt"><img src='demo_wait.gif' width="54" height="55" /><br />loading...</div>

</body>
</html>

 

 

--------------

<% @LANGUAGE='VBSCRIPT' CODEPAGE='65001' %>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<%
id = request("id")

For k = 1 To id
  Response.write "데모 페이지 입니다.<br>" & vbCrLf & "감사합니다.<br>" & vbCrLf & "그럼...<br>" & vbCrLf
Next  
Response.write "<br><a href='javascript:Hide()'>닫기</a>" & vbCrLf
%>

 

layerPop.htm
0.00MB
demo_ajax_load.asp
0.00MB
jquery-1.8.2.js
0.26MB

반응형