Ajax Server Push : Element Á¦¾îÇϱâ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Ajax Server Push ±¸Çö¿¡¼­, Server Push¸¦ ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸¾Ò´Ù. À̰æ¿ì¿¡ Ãâ·ÂµÇ´Â µ¥ÀÌÅ͸¦ Element´ÜÀ§·Î Á¦¾îÇÏÁö ¾Ê±â ¶§¹®¿¡, ÀÌÀü³»¿ëÀÌ »ç¶óÁö´Â ¹®Á¦°¡ ÀÖ´Ù. äÆÃ¼­¹ö¸¦ ±¸ÇöÇÒ °æ¿ì ÀÌÁ¡ÀÌ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù. ¿©±â¿¡¼­´Â Element¸¦ Á¦¾îÇØ¼­, äÆÃâºñ½ÁÇÏ°Ô ³»¿ëÀÌ ½ºÅ©·Ñ µÇµµ·Ï ±¸ÇöÇØº¸µµ·Ï ÇϰڴÙ.

001  <script language="JavaScript" type="text/javascript">
002  var xmlHttp=false;
003  if (window.XMLHttpRequest)
004  {
005      xmlHttp = new XMLHttpRequest();
006  }
007  else if (window.ActiveXObject)
008  {
009      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
010  }
011  
012  if (!xmlHttp)
013  {
014      alert("Error initializing XMLHttpRequest!");
015      exit;
016  }
017  
018  xmlHttp.multipart=true;
019  
020  function Request()
021  {
022      var url = "/ajax/ajaxTest.php";
023      xmlHttp.open("GET", url, true);
024      xmlHttp.onload = updatePage;
025  
026      xmlHttp.send(null);
027  }
028  
029  function updatePage()
030  {
031  
032      if(xmlHttp.readyState == 4)
033      {   
034          if (xmlHttp.status == 200) 
035          {       
036              var response = xmlHttp.responseXML;
037              var reply = document.getElementById('Test');
038              if (reply.childNodes.length > 5)
039              {
040                  reply.removeChild(reply.firstChild);
041              }
042              reply.appendChild(response.documentElement);
043              reply.innerHTML = reply.innerHTML;
044          }       
045          else if (xmlHttp.status == 404)
046          {
047              alert("Page Not Found");
048          }
049          else    
050          {       
051              alert("Server Error!");
052          }       
053      }
054  }
055  </script>
056  <form name=ajaxmodule>
057  <input type=button onclick="javascript:Request()" value="Click" class=keywords>
058  
059  </form>
060  <div id=Test>
061  </div>
062  
37 - 43 ÁÙ±îÁö°¡ Element¸¦ Á¦¾îÇϱâ À§ÇÑ ¿µ¿ªÀÌ´Ù. id°¡ TestÀÎ div¿µ¿ªÀÇ Element¸¦ °Ë»çÇØ¼­ 5°³¹Ì¸¸ À̶ó¸é, »õ·Î Ãß°¡(append)¸¦ Çϰí, 5°³ ÀÌ»óÀ̸é, ù¹øÂ° element¸¦ »èÁ¦ÇÑ ÈÄ, »õ·Î¿î element¸¦ ¸¶Áö¸·¿¡ Ãß°¡ÇÏ´Â ½ÄÀ¸·Î äÆÃâ¿¡¼­ÀÇ ½ºÅ©·ÑµÇ´Â ¸Þ½ÃÁö¸¦ ±¸ÇöÇϰí ÀÖ´Ù.

¼­¹öÂÊÀÇ °æ¿ì ¿ª½ÃheadÀÇ Content-type ¸¦ multipart·Î ÇØ¼­ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. ´Ü bodyÀÇ °¢ ¿µ¿ªÀÇ content-typeÀÇ °æ¿ì text/xml·Î Á¤ÀÇÇØÁà¾ßÇÒ Çʿ䰡 ÀÖ´Ù.
<? 
  header('Content-type: multipart/x-mixed-replace;boundary="rn9012"'); 
 
  for($i = 0; $i < 10; $i++) 
  { 
    print "--rn9012\n"; 
    print "Content-type: text/xml\n\n"; 
    print "<div>Part $i</div>\n"; 
    print "--rn9012\n"; 
    flush(); 
    sleep(1); 
  } 
?> 
 

´ÙÀ½Àº ½ÇÁ¦ Å×½ºÆ® °á°ú´Ù.

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.