Autor Tema: enviar y recibir datos por POST con js y ajax?  (Leído 1996 veces)

Desconectado xFades

  • PHPerit@
  • *
  • Mensajes: 4
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
enviar y recibir datos por POST con js y ajax?
« en: 19 de Julio de 2014, 04:40:26 am »
Buenas, tengo este código el cual me permite enviar un dato con ese dato buscar en un array echo con php y devolver el resultado sin tener que recargar la pagina osea ajax.. pero para que funcione debo dar click en el boto de enviar.. quisiera saber si se puede hacer esto con un simple "enter" en el campo de texto..

código:
archivo que envia y muestra el resultado:
Código: [Seleccionar]
<html>
<head>
<script>
var xmlhttp;
function load(str, url, cfunc)
{

if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("POST",url,true); // AQUÍ LE DECIMOS QUE VAMOS A ENVIAR LOS DATOS POR POST
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(str);
}

function metodoAjax(datos, ruta) //METODO AJAX QUE RECIBE 2 PARAMETROS, LOS DATOS A ENVIAR Y EL ARCHIVO QUE LOS RECIBE
{

 load(datos, ruta, function()
 {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
document.getElementById("cuerpo").innerHTML=xmlhttp.responseText; //MOSTRAMOS LOS DATOS EN EL DIV CON ID CUERPO
    }
 });
}
//------------------------------------------------------------------
function recibe(){ //FUNCION QUE SE EJECUTA CUANDO PRESIONAMOS EL BOTON ENVIAR
var dato = document.getElementById('datos').value;//OBTENEMOS LOS DATOS DEL CAMPO DE TEXTO
metodoAjax("valor="+dato+"","recibe.php"); //EJECUTAMOS EL METODO AJAX Y LE PSASMOS LOS DATOS, Y LE DECIMOS QUE ARCHIVO ES EL QUE RECIBE LOS DATOS
}
</script>
</head>
<body style="font-family:Verdana, Geneva, sans-serif; font-size:24px; text-align:center;">
<form method="post">
<fieldset style="width:60%;">
<input type="text" id="datos" size="45" name="datos" >
<input type="button" onClick="recibe();" value="Enviar Datos" >
<div id="cuerpo"></div>
<div style="color:#039;">
</div>
</fieldset>
</form>
</body>
</html>

archivo que recibe los datos y envía la respuesta:

Citar
<?php
if(isset($_POST['valor'])){
   $demo = array("demo", "assd", "adsd");
   if(in_array($_POST['valor'], $demo))
   {
      if($_POST['valor'] === "assd")
      {
         echo "correcto!";
      }
   }else{
      echo "x no encotrado";
   }
}
?>

eso ojalas me pudiera ayudar

Comunidad PHPeros

enviar y recibir datos por POST con js y ajax?
« en: 19 de Julio de 2014, 04:40:26 am »