Site/Ajax/Document/Sajax.php ¼Ò½º ÄÚµå ºÐ¼® (ÀÚ¼¼ÇÑ ÇÑ±Û ÁÖ¼®)
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

Sajax.php ¼Ò½º ÄÚµå ºÐ¼® (ÀÚ¼¼ÇÑ ÇÑ±Û ÁÖ¼®)


Á¦°¡ ÀÌÇØÇÑ sajax´Â
php(´Ù¸¥ ¾ð¾îµµ Áö¿øµË´Ï´Ù.)·Î¼­ ajax¿Í °ü·ÃµÈ ¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ® ¿ªÈ°À» µ¿½Ã¿¡
°¡´ÉÇÏ°Ô ÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©ÀÔ´Ï´Ù.

¿©±â¼­ ¼­¹ö¿ÍŬ¶óÀÌ¾ðÆ®¶ó´Â °³³äÀº °ÅâÇÑ °ÍÀÌ ¾Æ´Ï¶ó
Á¤º¸ÀÇ Àü´Þ°ú ó¸® ºÎºÐÀ» ¸º´Â ºÎºÐÀ» ¼­¹ö¶ó ĪÇѰÍÀ̰í
µ¥ÀÌŸ¸¦ ¿äûÇÏ°í °á°ú¸¦ º¸¿©ÁÖ´Â ºÎºÐÀ» Ŭ¶óÀÌ¾ðÆ®¶ó ÆíÀÇ»ó ĪÇѰÍÀÔ´Ï´Ù.

sajax.php´Â Å©°Ô ¼¼°¡Áö ºÎºÐÀ¸·Î ³ª´©¾î Áý´Ï´Ù.
1. °øÅë º¯¼ö(¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¸ðµÎ »ç¿ëµÇ¾îÁö´Â) ¼±¾ðºÎ

2. ¼­¹öÃø »ç¿ë ÇÔ¼ö

3. Ŭ¶óÀ̾ðÆ®Ãø »ç¿ëÇÔ¼ö

±×¸®°í Á¦°¡ ÀÌÇØ¸¦ µ½±âÀ§ÇØ ÇÔ¼öÀÇ ¼ø¼­ °°Àº °ÍÀº ÆíÀÇ»ó º¯°æÇÏ¿´½À´Ï´Ù.

ÀÌÇØ°¡ µÇÁö ¾Ê°Å³ª sajax¿¡ ´ëÇØ ´õ ¾Ë°í ½ÍÀº ºÐÀº
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Ajax/Document/Sajax
¸¦ Âü°íÇϽʽÿÀ,

ÀÌÇÏ´Â Á¦°¡ ÁÖ¼®À» ´Ü Àü¹®ÀÔ´Ï´Ù.

<?php   
if (!isset($SAJAX_INCLUDED)) {//ÀÎŬ·çµå Áߺ¹À» ¸·±â À§ÇÑ Ã³¸® 
 
  /*   
   * ±âº» º¯¼ö ¼³Á¤(ÃʱâÈ­, µ¥ÀÌŸÇü°áÁ¤, Àü¿ªº¯¼öµî·Ï) 
   * 
   */  
  $GLOBALS['sajax_version'] = '0.12';  //sajax ¹öÁ¯ Á¤º¸ 
  $GLOBALS['sajax_debug_mode'] = 0;//µð¹ö±ë¿©ºÎ °áÁ¤, 0ÀÌ ¾Æ´Ñ°ªÀÌ ÀúÀåµÇ¾îÀÖÀ»¶§ µð¹ö±ë 
  $GLOBALS['sajax_export_list'] = array();//»ç¿ëÇÒ ÇÔ¼öµéÀÇ À̸§À» ¹è¿­·Î ÀúÀå 
  $GLOBALS['sajax_request_type'] = 'GET';//¸®Äù½ºÆ® ŸÀÔ GET 
  $GLOBALS['sajax_remote_uri'] = '';//Á¢¼ÓÇÏ¿© Á¤º¸¸¦ °¡Á®¿Ã uri 
  $GLOBALS['sajax_failure_redirect'] = '';//Á¢¼Ó ½ÇÆÐ½Ã À̵¿ÇÒ uri 
   
  /* 
   * CODE 
   * 
   */  
    
  // 
  // sajax ±¸µ¿À» À§ÇÑ ÇÔ¼ö, ÇöÀç ºñ¾îÀÖÀ½ 
  // 
  function sajax_init() { 
  } 
   
  // 
  // ÇöÀç ÆäÀÌÁöÀÇ uri¸¦ µ¹·ÁÁØ´Ù. 
  //  
  function sajax_get_my_uri() { 
    return $_SERVER["REQUEST_URI"]; 
  } 
 
  //Á¢¼ÓÇÏ¿© Á¤º¸¸¦ °¡Á®¿Ã uri¿¡ ÇöÀç ÆäÀÌÁö uri¸¦ ÀúÀå 
  $sajax_remote_uri = sajax_get_my_uri(); 
 
  //sajax_get_common_js()ÀÇ ½ÇÇà¿©ºÎ, ±âº» ¾ÆÀÛ½º ½ºÅ©¸³Æ®¸¦ »ý¼ºÇß´ÂÁö ¿©ºÎ, »ý¼º½Ã 1 
  $sajax_js_has_been_shown = 0; 
 
 
  //ÀÌÇÏ ¼­¹öºÎÀÇ ÇÔ¼ö 
 
  // 
  //ÇÔ¼ö¿¡ ³Ñ°ÜÁø ÀÎÀÚÀÇ °¹¼ö ¸¸Å­ $sajax_export_list ¹è¿­¿¡ Â÷·Ê·Î ÀúÀåÇÑ´Ù. 
  //ÀÎÀÚ´Â »ç¿ëÀÚ°¡ ¿ÜºÎ¿¡ Çʿ信 ÀÇÇØ ¸¸µé¾î³õÀº ÇÔ¼öÀÇ phpÇÔ¼ö¸íÀÌ´Ù. 
  // 
  function sajax_export() { 
    global $sajax_export_list; 
     
    $n = func_num_args();//³Ñ°ÜÁø ÀÎÀÚÀÇ °³¼ö¸¦ µ¹·ÁÁØ´Ù. 
    for ($i = 0; $i < $n; $i++) { 
      $sajax_export_list[] = func_get_arg($i);//ÇØ´ç ¼ø¹øÀÇ ÀÎÀÚ¸¦ ¹è¿­¿¡ ÀúÀå 
    } 
  } 
 
  // 
  //³Ñ¾î¿Â ÀÎÀÚÀÇ °¹¼ö ¸¸Å­ $sajax_export_list ¹è¿­¿¡ ÀúÀåÇÑ´Ù. 
  //ÀÎÀÚ´Â »ç¿ëµÉ ÇÔ¼ö¸íÀÌ´Ù. 
  // 
  function sajax_handle_client_request() { 
    global $sajax_export_list;//»ç¿ëÇÒ ÇÔ¼ö¸íÀ» ¹è¿­·Î ÀúÀåÇϰí ÀÖÀ½ 
     
    $mode = "";//¸®Äù½ºÆ® ŸÀÔ 
     
    if (! empty($_GET["rs"]))  
      $mode = "get"; 
     
    if (!empty($_POST["rs"])) 
      $mode = "post"; 
       
    if (empty($mode)) //getÀ̳ª post·Î rs¶õ °ÍÀÌ ³Ñ¾î¿ÀÁö ¾Ê¾Ò´Ù¸é ÇÔ¼öÁ¾·á, Ŭ¶óÀÌ¾ðÆ®¶ó´Â ÀÇ¹Ì 
      return; 
 
    //ÀÌÇÏ ¼­¹öÀÇ ¿ªÈ° 
    $target = ""; 
     
    if ($mode == "get") { 
      // ºê¶ó¿ìÁ® ij½¬°¡ Àû¿ëµÇÁö ¾Êµµ·Ï Çì´õ Àü¼Û 
      header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past 
      header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
      // Ç×»ó ¼öÁ¤µÈ ÆäÀÌÁö ÀÓÀ» ³ªÅ¸³»´Â Çì´õ Àü¼Û 
      header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1 
      header ("Pragma: no-cache");                          // HTTP/1.0 
      $func_name = $_GET["rs"];//»ç¿ëµÇ¾îÁú ÇÔ¼ö¸í 
      if (! empty($_GET["rsargs"]))  
        $args = $_GET["rsargs"];//»ç¿ëµÇ¾îÁú ÇÔ¼öÀÇ ÀÎÀÚ°ª, ¹è¿­ÀÓ 
      else 
        $args = array(); 
    } 
    else {//Çì´õÀü¼ÛºÎºÐÁ¦¿ÜÇϰï get°ú °°À½ 
      $func_name = $_POST["rs"]; 
      if (! empty($_POST["rsargs"]))  
        $args = $_POST["rsargs"]; 
      else 
        $args = array(); 
    } 
     
    //Ãâ·ÂµÇ´Â 2¹ÙÀÌÆ®´Â °ªÀ» °¡Áö°í ¿Ã¶§ Á¤»óÀûÀÎ µ¥ÀÌŸÀÎÁö ±¸ºÐÇÏ´Â ±¸ºÐÀÚ°¡ µÊ 
    if (! in_array($func_name, $sajax_export_list))//$sajax_export_list ¿¡ ÀúÀåµÈ ÇÔ¼ö¸íÀÌ ¾Æ´Ò°æ¿ì -: Ãâ·Â 
      echo "-:$func_name not callable"; 
    else { 
      echo "+:";//Á¤»óÀûÀÎ °æ¿ì +: Ãâ·Â 
      $result = call_user_func_array($func_name, $args);//»ç¿ëÀÚ°¡ Á¤ÀÇÇÑ ÇÔ¼ö ½ÇÇà 
      echo "var res = " . trim(sajax_get_js_repr($result)) . "; res;";//ÇÔ¼ö ½ÇÇàÈÄ ¸®ÅϰªÀ» ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡¼­ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÁöÁ¤ÇÑ ÇüÅ·Π¹Ýȯ 
    } 
    exit;//¼­¹ö ¿ªÈ° Á¾·á - µ¥ÀÌŸÀÇ ÀúÀå ¹× Ãâ·Â 
  } 
   
  // 
  // ÀÎÀÚ·Î ¹ÞÀº °ªÀÇ ÇüÀ» ºÐ¼®ÇÏ¿©  
  // ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ eval() ·Î¼­ º¯È¯ÇÒ ¹®ÀÚ¿­À» µ¹·ÁÁØ´Ù. 
  // Àç±ÍÈ£Ãâ ÇÔ¼öÀÓ 
  //  
  function sajax_get_js_repr($value) { 
    $type = gettype($value); 
     
    if ($type == "boolean") { 
      return ($value) ? "Boolean(true)" : "Boolean(false)"; 
    }  
    elseif ($type == "integer") { 
      return "parseInt($value)"; 
    }  
    elseif ($type == "double") { 
      return "parseFloat($value)"; 
    }  
    elseif ($type == "array" || $type == "object" ) { 
      // 
      // µ¥ÀÌÅÍÇü ŸÀÔÀÌ ¹è¿­À̸鼭 ÇØ´ç ۵éÀÌ ¼ýÀÚÇüÀÌ ¾Æ´Ò°æ¿ì 
      // ½ºÅ©¸³Æ®¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇÔÀ¸·Î, ¹è¿­Àº ¸ðµÎ °´Ã¼·Î º¯È¯Çؼ­ »ç¿ëÇÑ´Ù. 
      //  
      $s = "{ "; 
      if ($type == "object") { 
        $value = get_object_vars($value); 
      }  
      foreach ($value as $k=>$v) { 
        $esc_key = sajax_esc($k); 
        if (is_numeric($k))  
          $s .= "$k: " . sajax_get_js_repr($v) . ", "; 
        else 
          $s .= "\"$esc_key\": " . sajax_get_js_repr($v) . ", "; 
      } 
      if (count($value)) 
        $s = substr($s, 0, -2);//³¡¿¡ ", "¸¦ ¾ø¾Ö±â À§ÇÑ Ã³¸® 
      return $s . " }"; 
    }  
    else { 
      $esc_val = sajax_esc($value); 
      $s = "'$esc_val'"; 
      return $s; 
    } 
  } 
   
  // 
  // ³Ñ¾î¿Â º¯¼ö¸¦ ÀÚ¹Ù½ºÅ©¸®Æ® "¾È¿¡¼­ ¿¡½ºÄÉÀÌÇÁ µÇµµ·Ï º¯È¯Çؼ­ ¸®ÅÏ 
  // 
  function sajax_esc($val) 
  { 
    $val = str_replace("\\", "\\\\", $val); 
    $val = str_replace("\r", "\\r", $val); 
    $val = str_replace("\n", "\\n", $val); 
    $val = str_replace("'", "\\'", $val); 
    return str_replace('"', '\\"', $val); 
  } 
   
 
 
  //ÀÌÇÏ Å¬¶óÀÌ¾ðÆ®ºÎÀÇ ÇÔ¼ö 
 
  // 
  //¾ÆÀÛ½º ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå Ãâ·Â 
  // 
  function sajax_show_javascript() 
  { 
    echo sajax_get_javascript(); 
  } 
   
  // 
  //±âº» ¾ÆÀÛ½º ÄÚµå¿Í »ç¿ëÀÚ¿¡ ÀÇÇØ »ý¼ºµÈ ÇÔ¼ö Äڵ带 ¸¸µé¾î¼­ ¹®ÀÚ¿­·Î µ¹·ÁÁØ´Ù. 
  // 
  function sajax_get_javascript() 
  { 
    global $sajax_js_has_been_shown;//sajax_get_common_js()ÀÇ ½ÇÇà¿©ºÎ 
    global $sajax_export_list; 
     
    $html = ""; 
    if (! $sajax_js_has_been_shown) { 
      $html .= sajax_get_common_js();//±âº» ¾ÆÀÛ½º ÄÚµå ¹®ÀÚ¿­ °¡Á®¿È 
      $sajax_js_has_been_shown = 1; 
    } 
    foreach ($sajax_export_list as $func) { 
      $html .= sajax_get_one_stub($func); 
    } 
    return $html; 
  } 
 
  // 
  //±âº» º¯¼öµéÀÇ °ªÀ» ¹Ý¿µ ½ÃŲ ±âº» ¾ÆÀÛ½º ÄÚµå ¹®ÀÚ¿­¸¦ ¹Ýȯ  
  // 
  function sajax_get_common_js() { 
    global $sajax_debug_mode; 
    global $sajax_request_type; 
    global $sajax_remote_uri; 
    global $sajax_failure_redirect; 
     
    $t = strtoupper($sajax_request_type);//¸®Äù½ºÆ® ¸Þ¼Òµå¸¦ ´ë¹®ÀÚ·Î º¯È¯ 
    if ($t != "" && $t != "GET" && $t != "POST") //GETÀ̳ª POST°¡ ¾Æ´Ï¸é ¿¡·¯Ãâ·Â, ÇÔ¼ö Á¾·á 
      return "// Invalid type: $t.. \n\n"; 
     
    //±âº» ¾ÆÀÛ½º Äڵ带 ¸Þ¸ð¸®¿¡ ´ãÀ½ 
    ob_start(); 
    ?> 
     
    //±âº»ÀûÀÎ AJAXÄÚµå 
    // remote scripting library 
    // (c) copyright 2005 modernmethod, inc 
    var sajax_debug_mode = <?php echo $sajax_debug_mode ? "true" : "false"; ?>; 
    var sajax_request_type = "<?php echo $t; ?>"; 
    var sajax_target_id = "";//°¡Á®¿Â µ¥ÀÌŸ¸¦ Áý¾î³Ö¾îÁÙ ÅÂ±× ¾ÆÀ̵ð 
    var sajax_failure_redirect = "<?php echo $sajax_failure_redirect; ?>"; 
     
    var sajax_requests = new Array(); 
     
    // 
    //Á¤ÇØÁø uri¿¡ Á¤ÇØÁø ¹æ¹ýÀ¸·Î Á¢¼ÓÇÏ¿©, µ¥ÀÌŸ¸¦ Àü´ÞÇÏ°í °á°ú°ªÀ» ¹Þ°í,  
    //°æ¿ì¿¡µû¶ó Ÿ°Ù¿¡ Áý¾î³Ö±âµµ Çϰí, ÄݹéÇÔ¼ö¸¦ ½ÇÇàÇϱ⵵ ÇÑ´Ù. 
    // 
    function sajax_do_call(func_name, args) { 
      var i, x, n; 
      var uri;//Á¢¼ÓÇÒ uri 
      var post_data;//¸®Äù½ºÆ® ŸÀÔÀÌ POSTÀϰæ¿ì Àü¼ÛµÉ µ¥ÀÌŸ 
      var target_id;//°¡Á®¿Ã µ¥ÀÌŸ¸¦ Áý¾î³Ö¾îÁÙ ÅÂ±× ¾ÆÀ̵ð 
       
      //µð¹ö±×¸ðµå°¡ Ȱ¼ºÈ­ µÇ¾úÀ» °æ¿ì °æ°íâ ¶Ù¿ò 
      sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id); 
 
      target_id = sajax_target_id;//°¡Á®¿Â µ¥ÀÌÅ͸¦ Áý¾î³ÖÀ» ÅÂ±× ¾ÆÀ̵ð 
 
      if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "") //¸®Äù½ºÆ® ŸÀÔÀÌ ¼³Á¤µÇÁö ¾Ê¾Ñ°Å³ª °ªÀÌ ¾øÀ» °æ¿ì ¹«Á¶°Ç GET 
        sajax_request_type = "GET"; 
       
      uri = "<?php echo $sajax_remote_uri; ?>";//Á¤º¸¸¦ °¡Á®¿Ã uri 
      if (sajax_request_type == "GET") { 
       
        //±âº» ¿ø°Ý uri¿¡ urlencoding ½ÃŲ ÇÔ¼ö¸í, Ÿ°Ù¾ÆÀ̵ð, ½Ãµµ ½Ã°£À» Ãß°¡ÇÑ´Ù. 
        if (uri.indexOf("?") == -1) //uri¿¡ ?°¡ ¾øÀ» °æ¿ì 
          uri += "?rs=" + escape(func_name); 
        else 
          uri += "&rs=" + escape(func_name); 
        uri += "&rst=" + escape(sajax_target_id); 
        uri += "&rsrnd=" + new Date().getTime(); 
         
        //¹è¿­ÇüÅ·Π³Ñ°ÜÁø µÎ¹øÂ° ÀÎÀÚ¸¦ ¼ø¼­´ë·Î uri¿¡ urkencoding ½ÃÄÑ Ãß°¡ÇÑ´Ù. 
        for (i = 0; i < args.length-1; i++)  
          uri += "&rsargs[]=" + escape(args[i]); 
 
        post_data = null;//¸®Äù½ºÆ® ŸÀÔÀÌ post°¡ ¾Æ´Ï¹Ç·Î ÃʱâÈ­ 
      }  
      else if (sajax_request_type == "POST") {//GET°ú´Â ´Ù¸£°Ô uri´Â ±×´ë·Î »ç¿ëÇϰí,post_data¿¡ °°Àº Çü½ÄÀ¸·Î ¿¬°á½ÃŲ´Ù. 
        post_data = "rs=" + escape(func_name); 
        post_data += "&rst=" + escape(sajax_target_id); 
        post_data += "&rsrnd=" + new Date().getTime(); 
         
        for (i = 0; i < args.length-1; i++)  
          post_data = post_data + "&rsargs[]=" + escape(args[i]); 
      } 
      else { 
        alert("Illegal request type: " + sajax_request_type);//¾Ë¼ö ¾ø´Â ¸®Äù½ºÆ® ŸÀÔÀÏ °æ¿ì ¿¡·¯ Ãâ·Â 
      } 
       
      x = sajax_init_object(); 
      if (x == null) {//¿ø°Ý Á¢¼Ó ½ÇÆÐ½Ã 
        if (sajax_failure_redirect != "") {//uri°¡ ÁöÁ¤µÇ¾îÀÖÀ» °æ¿ì À̵¿ 
          location.href = sajax_failure_redirect; 
          return false; 
        } else {//±×·¸Áö ¾ÊÀ»°æ¿ì °æ°íâ 
          sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent); 
          return false; 
        } 
      } else { 
        x.open(sajax_request_type, uri, true);//¿¬°áµÈ Á¢¼Ó¿¡ °ª Àü´Þ, ÀÌÇÏ php ÀÇ  fsockopen°ú ºñ½Á 
        // window.open(uri); 
         
        //sajax_requests ¹è¿­¿¡ ¿¬°áµÈ °´Ã¼¸¦ ÀúÀå 
        sajax_requests[sajax_requests.length] = x; 
         
        if (sajax_request_type == "POST") { 
          x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); 
          x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
        } 
       
        x.onreadystatechange = function() {//µ¥ÀÌŸ Àü¼Û ½ÇÆÐ 
          if (x.readyState != 4)  
            return; 
 
          sajax_debug("received " + x.responseText); 
         
          var status; 
          var data; 
          var txt = x.responseText.replace(/^\s*|\s*$/g,"");//°¡Á®¿Â ¹®ÀÚ¿­¿¡¼­ °ø¹éÀ¸·Î ½ÃÀ۵ǰųª °ø¹é·Î ³¡³ª´Â °ÍÀº ¾ø¾Ú 
          status = txt.charAt(0);//°¡Á®¿Â ¹®ÀÚ¿­¿¡¼­ ù¹øÂ° ¹ÙÀÌÆ®¸¦ status¿¡ ÀúÀå + or - 
          data = txt.substring(2);//2¹ÙÀÌÆ® ÀÌÈÄÀÇ ¸ðµç ¹®ÀÚ¿­À» µ¥ÀÌŸ¿¡ ÀúÀå 
 
          if (status == "") { 
            // Á¤»óÀûÀÎ °æ¿ì¿¡´Â +, - ÀÌ¿ÜÀÇ °ªÀº ³ª¿Ã¼ö°¡ ¾ø´Ù. 
          } else if (status == "-") //ÁöÁ¤µÈ ÇÔ¼ö ÀÌ¿ÜÀÇ ÇÔ¼ö¸¦ È£Ãâ½Ã ¹ß»ý, ¿¡·¯ Ãâ·Â 
            alert("Error: " + data); 
          else { 
            if (target_id != "")  
              document.getElementById(target_id).innerHTML = eval(data); 
            else { 
              try { 
                var callback; 
                var extra_data = false; 
                if (typeof args[args.length-1] == "object") {//³Ñ¾î¿Â ÀÎÀÚÀÇ ¸¶Áö¸· ¿ä¼Ò°¡ °´Ã¼ÀÏ °æ¿ì 
                  callback = args[args.length-1].callback;//¸¶Áö¸· ÀÎÀÚÀÇ ÄݹéÇÔ¼ö¸¦ Äݹé ÇÔ¼ö·Î µî·Ï 
                  extra_data = args[args.length-1].extra_data; 
                } else {//³Ñ¾î¿Â ÀÎÀÚÀÇ ¸¶Áö¸· ¿ä¼Ò°¡ °´Ã¼°¡ ¾Æ´Ò °æ¿ì 
                  callback = args[args.length-1];//¸¶Áö¸· ÀÎÀÚ¸¦ Äݹé ÇÔ¼ö·Î µî·Ï 
                } 
                callback(eval(data), extra_data);//Äݹé ÇÔ¼ö¸¦ ½ÇÇà 
              } catch (e) { 
                sajax_debug("Caught error " + e + ": Could not eval " + data ); 
              } 
            } 
          } 
        } 
      } 
       
      sajax_debug(func_name + " uri = " + uri + "/post = " + post_data); 
      x.send(post_data); 
      sajax_debug(func_name + " waiting.."); 
      delete x; 
      return true; 
    } 
     
    //µð¹ö°Å, µð¹ö±× ¸ðµå°¡ Ȱ¼ºÈ­ µÇ¾úÀ»°æ¿ì¸¸ ³Ñ¾î¿Â ¹®ÀÚ¿­À» °æ°íâÀ¸·Î ¶Ù¿î´Ù. 
    function sajax_debug(text) { 
      if (sajax_debug_mode) 
        alert(text); 
    } 
     
    //¿ø°Ý ÆäÀÌÁö¿¡ Á¢¼Ó 
    function sajax_init_object() { 
 
      //µð¹ö±× ¸ðµå Ȱ¼ºÈ­ ½Ã °æ°íâ 
      sajax_debug("sajax_init_object() called..") 
        
      var A; 
 
      var msxmlhttp = new Array( 
      'Msxml2.XMLHTTP.5.0', 
      'Msxml2.XMLHTTP.4.0', 
      'Msxml2.XMLHTTP.3.0', 
      'Msxml2.XMLHTTP', 
      'Microsoft.XMLHTTP'); 
      for (var i = 0; i < msxmlhttp.length; i++) { 
      try { 
        A = new ActiveXObject(msxmlhttp[i]); 
      } catch (e) { 
        A = null; 
      } 
      } 
 
      if(!A && typeof XMLHttpRequest != "undefined") 
      A = new XMLHttpRequest(); 
      if (!A) 
      sajax_debug("Could not create connection object."); 
      return A; 
    } 
     
    function sajax_cancel() { 
      for (var i = 0; i < sajax_requests.length; i++)  
        sajax_requests[i].abort(); 
    } 
     
    <?php 
    $html = ob_get_contents();//¸Þ¸ð¸®¿¡ ´ãÀº ³»¿ëÀ» º¯¼ö¿¡ ÀúÀå 
    ob_end_clean(); 
    return $html; 
  } 
 
  // 
  //ÀÎÀÚ·Î ¹ÞÀº ÇÔ¼ö¸íÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ »ç¿ëµÉ ÇÔ¼ö¸¦ »ý¼ºÇÏ¿© ¹®ÀÚ¿­·Î µ¹·ÁÁØ´Ù. 
  //»õ¼ºµÈ ÇÔ¼öÀÇ ÇÔ¼ö¸íÀº ÀÎÀÚ·Î ³Ñ¾î¿Â °ª ¾Õ¿¡ Á¢µÎ»ç x_ ¸¦ ºÙÀδÙ. 
  //»ý¼ºµÈ ÇÔ¼ö´Â ¼­¹ö¿¡¼­ Á¤º¸¸¦ ó¸®ÇÒ °°Àº À̸§ÀÇ ÇÔ¼ö¸íÀ» ³Ñ±â°Ô µÈ´Ù. 
  // 
  function sajax_get_one_stub($func_name) { 
    ob_start();   
    ?> 
     
    // wrapper for <?php echo $func_name; ?> 
     
    function x_<?php echo $func_name; ?>() { 
      sajax_do_call("<?php echo $func_name; ?>", 
        x_<?php echo $func_name; ?>.arguments); 
    } 
     
    <?php 
    $html = ob_get_contents(); 
    ob_end_clean(); 
    return $html; 
  } 
   
  //¸¸µé¾îÁø ±âº» ¾ÆÀÛ½º Äڵ带 Ãâ·Â 
  function sajax_show_common_js() { 
    echo sajax_get_common_js(); 
  } 
   
  //¸¸µé¾îÁø ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö ÄÚµå Ãâ·Â 
  function sajax_show_one_stub($func_name) { 
    echo sajax_get_one_stub($func_name); 
  } 
 
   
  $SAJAX_INCLUDED = 1; 
} 
?> 
 


Á»´õ ³ªÀº ÀÌÇØ¸¦ À§Çؼ­´Â

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Ajax/Document/Sajax2

¿Í °°Àº ¿¹Á¦¿Í ¿¹Á¦ Äڵ带 °°ÀÌ º´ÇàÇØ¼­ º¸´Â°ÍÀÌ ÁÁÀ»°Í °°½À´Ï´Ù.


Ãß°¡

°£È¤ °°Àº ¼Ò½ºÀÓ¿¡µµ ºÒ±¸Çϰí
Àåºñ¿¡ µû¶ó ÀÚ¹Ù½ºÅ©¸³Æ® ¿¡·¯¸¦ 밷´Â ³ðÀÌ ÀÖ½À´Ï´Ù.
¿¡·¯´Â ½Ã½ºÅÛ ¿À·ù:-1072896658
Àε¥, Á¦¼­¹ö ¼¼´ëÁß 1´ë´Â ÀÌ»ó¾ø°í µÎ´ë´Â Àú¿¡·¯¸¦ ¹ñ¾ú½À´Ï´Ù.

°Ë»öÁß ´ÙÀ½°ú °°Àº ±ÛÀ» ã¾Ò½À´Ï´Ù.
Ãâó´Â http://blog.naver.com/bisbuck/50002895571
ÀÌÇÏ ¿ø¹®ÀοëÀÔ´Ï´Ù.

AJAXÄÚµù µµÁß Ã¹¹øÂ° ´çȤ½º·± Çö»óÀÌ ¹ß»ýÇß´Ù. 
¹¹³Ä...½Ã½ºÅÛ ¿À·ù¶ó´Ï --; 
 
¿øÀÎÀº destinationÀÇ Web Page¿¡ ÀÖ¾ú´Ù. 
AJAX¶ó´Â°ÍÀÌ XMLÀ» Æ÷ÇÔÇÏ´Â ÀǹÌ...Áï ±âº»ÀûÀÎ CharSetÀ» UTF-8 ·Î Àâ¾Æ¾ßÇѴٴ¸»... 
 
ó¸®ÇÏ°í °á°ú°ªÀ» ³Ñ°ÜÁÖ´Â desctinationÀÇ Web PageÀÇ Çì´õ¿¡ ´ÙÀ½°ú °°Àº °ÍÀ» Ãß°¡Çß´õ´Ï ÀÚ¿¬½º·´°Ô ÇØ°áµÇ¾ú´Ù... 
 
Content-type: text/html; charset=UTF-8 
 
°¢°¢ÀÇ Server Side Script¿¡ µû¶ó ÀûÀýÇÏ°Ô ³Ö¾îÁÖ¸é µÈ´Ù. 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.