- ASP-ajax 에서 한글처리
- 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""/> 추가
자바스크립트 알람도 한글 정상 출력됨.
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>
<a href="#layer_1" onclick="LayerCheck('#layer_1')" class="layer_show">aaa</a>
<br><br><br><br><br>
<a href="#layer_1" onclick="LayerCheck('#layer_2')" class="layer_show">eee</a>
<br><br><br><br><br>
<a href="#layer_1" onclick="LayerCheck('#layer_3')" class="layer_show">bbb</a>
<br><br><br><br><br>
<a href="#layer_1" onclick="LayerCheck('#layer_4')" class="layer_show">ccc</a>
<br><br><br><br><br>
<a href="#layer_1" onclick="LayerCheck('#layer_5')" class="layer_show">ddd</a>
<br><br><br><br><br>
<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
%>
'HTML' 카테고리의 다른 글
모바일 웹에서 이미지, 폰트 크기, abcupload,나누미,asp날짜 (0) | 2024.02.17 |
---|---|
웹 사이트 최적화 기법 (1) | 2024.02.15 |
웹표준과 HTML, CSS (0) | 2024.02.15 |
JQuery 이미지롤링 배너 (1) | 2024.02.15 |
자바스크립트소스-라디오버튼,마우스위치 (0) | 2024.02.15 |