Where The Streets Have No Name

XMLHttpRequest 와 XML Data Source 개체 사용하는 방법 본문

Developement/Web

XMLHttpRequest 와 XML Data Source 개체 사용하는 방법

highheat 2007. 12. 17. 13:16
출처: http://support.microsoft.com/kb/601996/ko

1. Client.htm 작성하고 다음의 코드를 입력합니다.
<BODY>  

<object width="0" height="0"
classid="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" id="xmlParts">
<param NAME="JavaDSOCompatible" value="true">
</object>

<script for="frmMain" event="onsubmit">
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST","Server.asp?Action=Save", false);
xmlhttp.send(xmlParts.XMLDocument);
xmlhttp = null;
</script>


<script for="window" event="onload">
xmlParts.XMLDocument.async = false;
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("GET","Server.asp?Action=Fetch", false);
xmlhttp.send();
xmlParts.XMLDocument.load(xmlhttp.responseXML);
xmlhttp = null;
</script>

<center>
<form name="frmMain">
<table border=1 datasrc=#xmlParts>
<tr>
<td>Part #: <br><div datafld="partnumber"></div></td>
<td>Description:<br>
<input type="text" name="description" value='OK' DATAFLD="description">
</td>
<td>Quantity: <br>
<input type="text" name="quantity" value='1000' DATAFLD="quantity">
</td>
<!--<td><div datafld="$Text"></div></td>-->
</tr>
</table>
<input type=submit value="Save" id=submit1 name=submit1>
</form></center>
</BODY>
</HTML>
2. Server.ASP를 다음과 같이 작성합니다.
<%@ Language=VBScript %> 
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
<%
if Request.QueryString("Action")="Fetch" then
' Give the Parts1.xml
set doc = Server.CreateObject("Microsoft.XMLDOM")
doc.async = false
doc.load(Server.MapPath("Parts.xml"))

'set response contenttype to xml
response.contenttype="text/xml"
response.write(doc.xml)
Response.End
set doc = nothing
end if

if Request.QueryString("Action")="Save" then
'Save the changes
dim doc
set doc = Server.CreateObject("Microsoft.XMLDOM")
doc.async = false
doc.load(Request)
' Use FileSystemObject to write the changes to gfe.xml
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(Server.MapPath("Parts.xml"), True)
MyFile.WriteLine(doc.xml)
MyFile.Close
set doc = nothing
end if
%>
3. Parts.xml 을 다음과 같이 작성합니다.
<parts>
<part>
<partnumber>A1000</partnumber>
<description>Flat washer</description>
<quantity>4000</quantity>
</part>
<part>
<partnumber>S2300</partnumber>
<description>Machine screw</description>
<quantity>1000</quantity>
</part>
<part>
<partnumber>M2400</partnumber>
<description>Nail</description>
<quantity>5004</quantity>
</part>
</parts>
4. 위의 세 개의 파일을 웹 서버에 저장한 다음 Client.htm을 먼저 실행합니다.
5. 데이터를 수정하고 저장을 누릅니다.
6. 웹 페이지에서 변경된 데이터를 바로 볼 수 있습니다.