Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ajax post method


Автор: fics 6.2.2009, 01:40
подскажите в чем может быть загвоздка:

вот моя ф-ция js через которую добавляю сообщение в чат

Код

function sendMessage() {
  var o_msg = document.getElementById("c_msg");
  var oColor = document.getElementById("color");
  var o_sml = document.getElementById("_sml");
  var params = "";
  
  if(xmlChat.readyState == 4 || xmlChat.readyState == 0) {
    if (o_msg.value !== "") {
   
      params =  "c_msg=" + o_msg.value + 
                 "&color=" + oColor.value + 
                 "&c_img=" + o_sml.value;
                 
      
      xmlChat.open("POST", "?action=6", true);
      xmlChat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xmlChat.send(params); 
      
   
     /* xmlChat.open("GET", '?action=6&'+params, true);
      xmlChat.send(null);*/
      
      o_msg.value = ""; 
      setTimeout("move_down()", 2000);
    } else { alert('bla bla !');};
  }
}


не пойму в чем причина, через GET - работает нормально и через POST - не хочет работать может что не так, хотя вроде так?

вот еще куда шлю на всякий случай ну сдеся все нормально если использовать GET:

?action=6
Код

<?php
  $c_msg = trim(mysql_real_escape_string($_POST['c_msg']));//$_GET['c_msg']
  $color = trim(mysql_real_escape_string($_POST['color']));
  $c_img = trim(mysql_real_escape_string($_POST['c_img']));

  if((strlen($c_msg) < 1) || (strlen($color) < 1) || (strlen($c_img) < 1) || (empty($_SESSION['user']))) {
    exit();
  }
    
  $ObjChat = new ChatAjax();
  
  $ObjChat->setLogin($_SESSION['user']['login']);
  $ObjChat->setMessage($c_msg);
  $ObjChat->setColor($color);
  $ObjChat->setTime(date("H:i:s"));
  $ObjChat->setSmile($c_img);
  $ObjChat->delOldMessages();
  
  $ObjChat->InsString();  
?>


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)