요즘 ajax를 좀끄적이다 보니 괜찮은 자료가 있어서 올려놓는다..

좋은 자료인거같다.. 샘플구하기가 쉽지많은 않다..



//XMLHttpRequest 객체생성
var oXmlHTTP = getXmlHttp();

if (window.XMLHttpRequest)
{
 oXmlHttp = new XMLHttpRequest();
}else{
 oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

oXmlHTTP.open("POST", "AJAX.asp", false); // 동기방식으로 연결


//리퀘스트 내용을 XML문자열로 만든다. ASP는 기본적으로 EUC-KR로 처리하기 때문에 따로 정의할필요는 없습니다.
//한글을 전송할때는 태그내용을 <![CDATA[ ]]>로 선언해야 합니다.
var strXML = "";
strXML = strXML + "<gwinaemi>";
strXML = strXML + "<strList><![CDATA[내용]]></strList>";
strXML = strXML + "</gwinaemi>";

//리퀘스트 전송
oXmlHTTP.send(strXML);

//받아온 XML문자열에서 에서 strList태그의 내용을 추출 viewText객체의 innerHTML 로 넣는다.
eId("viewText").innerHTML = oResXML.getElementsByTagName("strList").item(0).firstChild.nodeValue;


--------------------------------------------------------------------------------------------------------------
'''''AJAX.asp파일쪽의 처리


'''''받아온 XML문자열을 Request.BinaryRead로 읽어서
'''''microsoft.xmldom 파서로 읽어 Scripting.Dictionary객체로 반환
'''''필요한 리퀘스트 내용은 딕셔너리에서 호출한다.

Dim vntPostedData, lngCount
lngCount = Request.TotalBytes
vntPostedData = Request.BinaryRead(lngCount)

Dim oXMLDom                       
Set oXMLDom = Server.CreateObject("microsoft.xmldom")

oXMLDom.load(vntPostedData)

Dim oDicXMLRequest
set oDicXMLRequest = Server.CreateObject("Scripting.Dictionary")

If oXMLDom.parseError = 0 Then

        Dim objNode
        Set objNode = oXMLDom.documentElement
        set oXMLDom = nothing

        Dim i
        For i = 0 To objNode.childNodes.length - 1
                oDicXMLRequest.Add objNode.childNodes.Item(i).nodeName, objNode.childNodes.Item(i).Text
        Next

        set objNode = nothing
else
        set oXMLDom = nothing       
End if


Response.ContentType = "text/xml"
Response.Charset = "ks_c_5601-1987"


''''''''''''''''XML문서의 형태로 돌려보낸다. encoding을 ASP의 기본엔코딩인 ks_c_5601-1987로 지정한다.
Response.write "<?xml version=""1.0"" encoding=""ks_c_5601-1987""?>" & chr(13) & chr(10)


''''''''''''''''oDicXMLRequest에서 strList의 내용을 불러낸다.
Response.write "<gwinaemi><strList><![CDATA[" & oDicXMLRequest("strList") & "]]></strList></gwinaemi>"

2007/11/22 15:06 2007/11/22 15:06

<%
 '// 수요일 구하는 프로그램

 SELECT Case Weekday(Now)
  Case "1" '// 일요일
   tmp = 3
  Case "2" '// 월요일
   tmp = 2
  Case "3" '// 화요일
   tmp = 1
  Case "4" '// 수요일
   tmp = 0
  Case "5" '// 목요일
   tmp = 6
  Case "6" '// 금요일
   tmp = 5
  Case "7" '// 토요일
   tmp = 4
 End Select
 Response.Write tmp & "<br>"

 If tmp = 0 Then       '// 수요일이므로 해당사항 없음
  newDate = Now()
  LastDate = DateAdd("d",2,newDate) '// 금요일 구하기
 Else
  newDate = DateAdd("d",tmp,Now())
  LastDate = DateAdd("d",2,newDate) '// 금요일 구하기
 End If

 Response.Write NewDate
%>


'// 매주 수요일 구하는 프로그램 따라해 봅시다~

2007/11/22 15:04 2007/11/22 15:04
windows2003서버 iis6.0에서 asp자료실 운영시에 200kb이상 업로드가 안되는 문제
C:\WINDOWS\system32\inetsrv\MetaBase.xml
886라인에 보면..기본값으로..
AspMaxRequestEntityAllowed="204800"으로 되어있습니다.
단위는 byte단위죠. 즉 200k..
이 값을 변경시켜주면. 200k이상도 업로드가 됩니다

1.관리도구->서비스에서->IIS Admin Service를 중지시킵니다.(HTTP,SMTP등 서비스가 같이 중단됨)

2.C:\WINDOWS\system32\inetsrv\MetaBase.xml를 편집기(메모장등)으로 열고.
886라인 또는 Ctrl+F로 찾기로.. AspMaxRequest로 검색하면,
AspMaxRequestEntityAllowed="204800"이 숫자값을 변경시켜주시면 됩니다.
2메가 로 하시려면, 2048000으로 하시면 되구요. 적당히.. 변경해주시면 됩니다.
수정하시고, 저장합니다. 저장이 안되면, 1번과정을 해주세요.

3. 서비스에서 IIS Admin Service를 다시 시작합니다.
iis를 열어서.. 웹서비스,SMTP등을 시작하십시오..
이제 자료실 파일 첨부시, 200k 이상이 잘 됩니다..

2007/11/22 15:03 2007/11/22 15:03
  • 우선 WebEditor 모듈을 다운로드 받은후 압축을 풉니다.
  • /WebEditor ┬ cgi
    ├ classes
    ├ css
    ├ dialog
    ├ emoticon
    ├ images
    ├ js
    class.WebEditorGenerator.js - 설정 및 WebEditor 생성 클래스
    example.html
    └ readme.html
  • WebEditor 디렉토리를 통째로.. FTP 등을 통해서 업로드를 합니다.
    : 웹문서 루트디렉토리(이하 루트, 최초 index.html 파일이 위치한 곳)에다가 복사
  • WebEditor 이 위치한 디렉토리는 "/WebEditor" 입니다.
    또한 거의 모든 디렉토리 설정은 루트를 기준("/")으로 설정을 합니다.
  • 압축을 해제를 한후 WebEditor 을 설정을 합니다.
    • class.WebEditorGenerator.js을 오픈을 합니다. (모든 설정은 이 파일에서 할수 있습니다.)
      /////////////////////////////////////////////////////////////////////////////////////////////////
      // config Start
      /////////////////////////////////////////////////////////////////////////////////////////////////

      // Basic Directory
      var WebEditor_Basic_Dir = '/WebEditor'; -- ①

      // Basic Btn Lists
      // '|' is separator
      // '-' is new line
      var WebEditor_Btns = {
         'Basic' :['Source','|','Cut','Copy','Paste','|','Undo','Redo','|','Bold',....
         'Extend' :['FontName','FontSize','ForeColor','BackColor','|','CreateLink',...
         'Advanced' :['Table','TableProperties','TdProperties','|',...
      };
      --②

      // Emoticon Popup Size(Width, Height);
      var WebEditor_Emoticon_popup_size = new Array("700px", "500px");--③

      // Emoticon Icon Directory
      var WebEditor_Emoticon_Dir = WebEditor_Basic_Dir + "/emoticon/fun";--④

      // Emoticon Icon, Row Print Icon Number;
      var WebEditor_Emoticon_Num = 10;--⑤

      // UpLoad Directory
      var WebEditor_Upload_Dir = '/_data/user_imgs';--⑥

      // UpLoad Size
      var WebEditor_Upload_Size = 2048; // KB (1MB = 1024KB)--⑦

      // User CSS & Preview CSS
      var WebEditor_User_CSS = '/css/style.css';--⑧

      // P tag to br tag
      var WebEditor_Convert_Tag_P = true;--⑨

      /////////////////////////////////////////////////////////////////////////////////////////////////
      // End
      /////////////////////////////////////////////////////////////////////////////////////////////////

      ① WebEditor가 위치한 디렉토리 (예 : "/WebEditor")
      ② 툴바에 포함된 버튼 리스트 편집
          '|' -> 세로 구분자
          'Basic', 'Extend', 'Advanced' 는 행을 나타냅니다. 각행에 포함된 버튼들은 서로 다른행으로 이동가능합니다.
          'About' 는 삭제를 하실 수 없습니다. (위치 변경은 가능합니다.)
      ③ 이모티콘 팝업 사이즈를 설정 (가로픽셀, 세로픽셀)
      ④ 이모니콘 디렉토리 위치를 설정 (해당디렉토리의 모든 이미지파일을 이모티콘으로 쓸수 있습니다.)
      ⑤ 한줄에 출력되는 이모티콘의 개수를 설정을 합니다.
      ⑥ 이미지 삽입시 업로드를 할 경우 업로드 디렉토리를 설정을 합니다. 역시 루트부터 시작을 하며,
          타인에 대해 쓸수 있도록 퍼미션 설정을 하셔야 합니다.
          가령 /data 가 파일을 저장하는 공간이라면 var WebEditor_Upload_Dir = '/data';입니다.
      * upload directory 는 서버에 관련된 부분이므로 user의 게정에 따라 다릅니다. 설정에러가 날경우는. 질/답란에 질문을 올려 주세요
      ⑦ 업로드 할 수 있는 사이즈를 결정합니다. (KB 단위 | 1메가(MB) = 1024KB) 입니다.
      ⑧ WebEditor과 미리보기시 적용할 스타일 시트를 설정합니다.
      ⑨ 엔터키 입력시 2줄 이면 false, 한줄이면 true

  • 이제 WebEditor 의 기본 설정은 끝났습니다.
    지금부터는 WebEditor를 삽입해 보도록 하겠습니다.
    • 루트의 /test/test.html 에 삽입을 한다면.
    • test.html을 오픈을 합니다.
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
      <title>Untitled Document</title>
      <script language="javascript" src="/WebEditor/class.WebEditorGenerator.js"></script>
      </head>
      <body>
      </body>
      </html>
      <textarea id='WebEditor'>TEST</textarea>
      <script language="javascript">
           var e = new WebEditorGenerator('WebEditor', "100%", "200px");
           e.generate();
      </script>
      또는
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
      <title>Untitled Document</title>
      <script language="javascript" src="/WebEditor/class.WebEditorGenerator.js"></script>
      </head>
      <body>
      </body>
      </html>
      <textarea id='WebEditor'>TEST</textarea>
      <script language="javascript">
           var e = new WebEditorGenerator('WebEditor');
           e.generate();
      </script>
      또는
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
      <title>Untitled Document</title>
      <script language="javascript" src="/WebEditor/class.WebEditorGenerator.js"></script>
      </head>
      <body>
      </body>
      </html>
      <textarea id='WebEditor'>TEST</textarea>
      <script language="javascript">
           (new WebEditorGenerator('WebEditor')).generate();
      </script>

    이제는 브라우져를 통해서 확인하실 수 있습니다.


    개발자를 위한 몇 가지 메소드


    WebEditor는 사용 편의상 몇가지 외부에 제공되는 메소드를 포함합니다.
    WebEditor의 값을 얻는다거나 또는 TEXTAREA로의 변경 및 focus 이동등을 하실 수 있습니다.
    또한 WebEditor 값을 확인하여 자바스크립트의 값 체크등으로 사용하실 수 있습니다.

    void WebEditorGenerator(String id, Int width, Int height)
     
  • WebEditor 생성자
  • id : Element의 id 값
  • width : 가로
  • height : 세로
  •  
    void generate(void)
  • Element중 id인 TextArea를 WebEditor로 대체.
  •  
    void setMode(String sMode)
  • sMode : "Editor || Source"만 올수 있다.
  • sMode이 empty 인 경우는.. 현재 모드에 반대 모드로 자동 변경
  •  
    String getMode(void)
  • 현재 모드를 얻을수 있다. "Editor || Source"
  •  
    String getValue(void)
  • 지금까지 작성된 WebEditor의 값을 얻을 수 있다.
  •  
    void focus(void)
  • WebEdtior 로 포커스를 이동
  •  

    출처 - http://home.mytnt.co.kr 

  • 2007/11/22 15:02 2007/11/22 15:02