Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No funciona ajax.open

Estas en el tema de No funciona ajax.open en el foro de Frameworks JS en Foros del Web. Como estan tengo este script, pero no logra abrirme el archivo php no lo encuentra. Hay alguna forma de saber en que ruta esta buscando ...
  #1 (permalink)  
Antiguo 29/11/2008, 23:21
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
No funciona ajax.open

Como estan tengo este script, pero no logra abrirme el archivo php no lo encuentra.

Hay alguna forma de saber en que ruta esta buscando "porque mi archivo php esta ubicado al lado de el que tiene este script" para saber que es lo que toca aumentarle a la ruta del archivo para que funcione

o tengo algun error en el script???

Código:
<script>
<!-- Funcion sacada de http://www.formatoweb.com.ar/ajax/ -->
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}
function ValProducto(NumProducto)
{
	// Obtengo el Id del Producto del cual se desean saber precio referencia y stock.
	var CodProducto = document.getElementById("SYSCodProducto"+NumProducto).value;
	// Obtendo la capa donde se muestran las respuestas del servidor
	//// var precio=document.getElementById("SYSValUnitario"+NumProducto);
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	
	//var aleatorio=Math.random(); 
	// Coloco el mensaje "Cargando..." en la capa
	//// capa.value="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	//if (ajax.open("POST","../SugarSYScrm/servajax.php?nocache=+aleatorio",true)) alert ("Funciona"); else alert("No Funciona");
	if (ajax.open("POST","servajax",true)) alert ("Funciona"); else alert("No Funciona");	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("CodProducto="+CodProducto);

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// 
			var DatProducto = ajax.responseText.split("*");
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			document.getElementById("SYSValUnitario"+NumProducto).value=DatProducto[0];
			document.getElementById("SYSReferencia"+NumProducto).value=DatProducto[1];
			document.getElementById("SYSStock"+NumProducto).value=DatProducto[2];
		}
	}
}
</script>
  #2 (permalink)  
Antiguo 30/11/2008, 09:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: No funciona ajax.open

¿Seguro que tu archivo se llama "servajax"? ¿No será "servajax.php"?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 30/11/2008, 09:45
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Respuesta: No funciona ajax.open

graicas por responder pero ya porbe con als dos opciones y no me funciona. Lo habia dejado sin extencion porque donde encontre el ejemplo estaba asi sin extension y lo probe y me funciono pero cuando lo trate de implementar en mi proyecto no logro hacerlo funcionar.

Hay alguna forma de saber que esta pasando con ese ajax.open
  #4 (permalink)  
Antiguo 30/11/2008, 10:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: No funciona ajax.open

if(ajax.open... siempre es undefined. La comprobación no se hace de esa manera. Se abre la conexíon y se espera a que cambie de estado ajax.onreadystatechange, estableciendo un manejador que verifique ajax.readyState. Y cuando ajax.readyState es igual a 4, puede verificarse, vía ajax.status si la conexión es exitosa o fallida.
  #5 (permalink)  
Antiguo 02/01/2013, 19:32
 
Fecha de Ingreso: julio-2011
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No funciona ajax.open

PARTE 1/3.
Un servidor también tiene el mismo problema, no me funciona en IE y FireFox y con este ultimo con la herramienta de desarrollor web me confirma que se realiza la conexion pero no se ejecuta mi archivo php.

Aqui les dejo el código de mi pagina para ver si alguien me puede ayudar; basicamente quiero cambiar el valor de un input text por el resultado de una consulta la producirse el evento onchange de otro input text al poner una clave.

Archivo alta_neg.php donde se encuentra el form, cabe mencionar que en mi archivo encabezado.php en el head declaro el archivo js.
Código PHP:
Ver original
  1. <?php
  2. $idform="ALTA_NEG";
  3. include('../sys/funciones.php');
  4.  
  5. if (verificar_usuario()){
  6. if (verificar_pagina($idform)){
  7.  
  8. date_default_timezone_set('America/Mexico_City');
  9. $sacarfecha=date("y-m-j");
  10. $sacaruse=$_SESSION[sys_iduser];
  11. $sacarnombre_use=sacar_nombre($sacaruse);
  12.  
  13. include './encabezado.php';
  14. include './menu.php';
  15. include './contenido.php';
  16.  
  17. if(isset($_POST[cmdguardar])) //Si el botón enviar es pulsado, hacer lo siguiente:
  18. {
  19.     include("conexion.php"); //Se incluye el archivo conexion.php para conectar con MySQL.
  20.     //Pase de variables. Se pasan las variables de  por medio del método POST. 
  21.     $clave=$_POST["txtclave_neg"];
  22.     $fecha=strtoupper($_POST["txtficha_neg"]);
  23.     $empleado=strtoupper($_POST["txtemple_neg"]);
  24.     $ficha=strtoupper($_POST["txtficha_neg"]);
  25.     $nombre=strtoupper($_POST["txtnombr_neg"]);
  26.     $apellidos=strtoupper($_POST["txtapell_neg"]);
  27.     $user=strtoupper($_POST["txtuser_neg"]);
  28.     $solicita=strtoupper($_POST["txtsolic_neg"]);
  29.     $autoriza=strtoupper($_POST["txtautor_neg"]);
  30.     $contrato=strtoupper($_POST["txtcontr_neg"]);
  31.     $comentarios=strtoupper($_POST["txtcomen_neg"]);
  32.    
  33.  
  34.     if($clave=="") //validaciones
  35.             include './mensaje01.html';
  36.         else   
  37.             if($nombre=="") //validaciones
  38.                     include './mensaje02.html';
  39.                 else
  40.                     {
  41.                     $sql= "INSERT INTO negra (clave_neg, fecha_neg, emple_neg, ficha_neg, nombr_neg, apell_neg, nuser_neg, solic_neg, autor_neg, contr_neg, comen_neg) VALUES                               ('$clave','$fecha', '$empleado', '$ficha', '$nombre', '$apellidos', '$user', '$solicita', '$autoriza', '$contrato', '$comen')"; //se insertan los datos en                      una variable llamada sql.  
  42.  
  43.  
  44.                     if(!mysql_query($sql))  //la variable se ingresa a la función mysql_query que esta es la que inserta a la base de datos.
  45.                             {include './mensaje03.html';}
  46.                         else
  47.                             {include './mensaje04.html';}                                          
  48.                     }
  49. }
  50. ?>
  51.    
  52. <center><b style="font-size:16px">Agregar personal a la lista negra</b></center>
  53. <div id="alta" style="background-image:url(../ima/tapiz02.gif); background-color:#006699; height:400px; width:645px; position:relative; left:155px; top:1px; padding-left:40px; padding-top:20px">
  54.         <form action="alta_neg.php" method="POST" name="negra" id="negra">
  55.             <table width="700" border="0" cellspacing="1" cellpadding="1" style="font-size:11px; color:#FF9900">
  56.                 <tr>
  57.                     <td><label><b>Clave</b></label></td>
  58.                     <td><input name="txtclave_neg" type="text" size="4" maxlength="5" height="8" / style="font-size:12px"></td>
  59.                 </tr>
  60.                 <tr>
  61.                 <td><label><b>Fecha</b></label></td>
  62.                     <td><input name="txtfecha_neg" type="text" size="10" value="<? echo"$sacarfecha"?>" readonly="readonly" maxlength="10" height="8" / style="font-size:12px"></td>
  63.                 </tr>                            
  64.                 <tr>
  65.                     <td><label><b>Empleado</b></label></td>
  66.                     <td><input name="txtemple_neg" type="text" size="4" maxlength="5" height="8" / style="font-size:12px"></td>
  67.                 </tr>
  68.                 <tr>
  69.                     <td><label><b>Ficha</b></label></td>
  70.                     <td><input name="txtficha_neg" type="text" size="11" readonly="readonly" maxlength="10" height="8" / style="font-size:12px"></td>
  71.                 </tr>    
  72.                 <tr>
  73.                     <td><label><b>Nombre</b></label></td>
  74.                     <td><input name="txtnombr_neg" type="text" size="80" readonly="readonly" maxlength="50" height="8" / style="font-size:12px"></td>
  75.                 </tr>                                          
  76.                 <tr>
  77.                     <td><label><b>Apellidos</b></label></td>
  78.                     <td><input name="txtapell_neg" type="text" size="80" readonly="readonly" maxlength="50" height="8" / style="font-size:12px"></td>
  79.                 </tr>                            
  80.                 <tr>
  81.                     <td><label><b>Usuario</b></label></td>
  82.                     <td><input name="txtuser_neg" type="text" size="4" value="<? echo"$sacaruse"?>" readonly="readonly" maxlength="5" height="8" / style="font-size:12px">
  83.                         <input name="txtnombruse_neg" type="text" size="80" value="<? echo"$sacarnombre_use"?>" readonly="readonly" maxlength="100" height="8" / style="font-size:12px">                        mas...</td>
  84.                 </tr>                
  85.                 <tr>
  86.                     <td><label><b>Solicita</b></label></td>
  87.                     <td><input name="txtsolic_neg" id="txtsolic_neg" type="text" onchange="carga_nombresol_neg()" size="4" maxlength="5" height="8" / style="font-size:12px">
  88.                         <input name="txtnombrsol_neg" id="txtnombrsol_neg" type="text" size="80" readonly="readonly" maxlength="100" height="8" / style="font-size:12px">
  89.                         mas...</td>            
  90.                 </tr>                        
  91.                 <tr>
  92.                     <td><label><b>Autoriza</b></label></td>
  93.                     <td><input name="txtautor_neg" type="text" size="4" maxlength="5" height="8" / style="font-size:12px">
  94.                         <input name="txtnombraut_neg" type="text" size="80" readonly="readonly" maxlength="100" height="8" / style="font-size:12px">
  95.                         mas...</td>            
  96.                 </tr>                
  97.                
  98.                 <tr>
  99.                     <td><label><b>Contrato</b></label></td>
  100.                     <td><input name="txtcontra_neg" type="text" size="11" maxlength="10" height="8" / style="font-size:12px"></td>
  101.                 </tr>                
  102.                 <tr>
  103.                     <td><label><b>Comentarios</b></label></td>
  104.                     <td><textarea name="txtcomen_neg" cols="60" rows="5" style="font-size:12px" height="8"></textarea></td>
  105.                 </tr>                                                                        
  106.             </table>
  107.  
  108.             <table align="center" width="0" border="0" cellspacing="15" cellpadding="15" style="font-size:11px; color:#FF9900; padding-left:0px; padding-top:20px">
  109.                 <tr>
  110.                     <td><input name="cmdguardar" type="submit" value="Guardar" / style="font-size:12px"></td>
  111.                     <td><input name="cmdcancelar" type="reset" value="Cancelar" / style="font-size:12px"></td>
  112.                 </tr>                    
  113.             </table>
  114.         </form>
  115. </div>
  116. <? include './pie.php';
  117.  
  118. } else {header('Location:../mx/restringido.php');}
  119. } else {header('Location:../index.php');}
  120. ?>
  #6 (permalink)  
Antiguo 02/01/2013, 19:33
 
Fecha de Ingreso: julio-2011
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No funciona ajax.open

Archivo JS: my_funciones.js
Código Javascript:
Ver original
  1. function nuevoAjax()
  2. {
  3.     var xmlhttp=false;
  4.     try
  5.     {
  6.         // Creacion del objeto AJAX para navegadores no IE
  7.         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  8.     }
  9.     catch(e)
  10.     {
  11.         try
  12.         {
  13.             // Creacion del objet AJAX para IE
  14.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  15.         }
  16.         catch(E)
  17.         {
  18.             if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
  19.         }
  20.     }
  21.     return xmlhttp;
  22. }
  23.  
  24.  
  25. //Funcion que cambia el valor de inputs del form alta_neg y cambios_neg
  26. function carga_nombresol_neg(){
  27.     var contenido_neg = document.getElementById('contenido_neg');
  28.     var txtnombrsol_neg = document.getElementById('txtnombrsol_neg');
  29.     var txtsolic_neg = document.getElementById('txtsolic_neg');
  30.     var clave=txtsolic_neg.value;
  31.    
  32.     ajax=nuevoAjax();
  33.     ajax.open("GET","proceso_neg.php?cve="+clave, true);
  34.     ajax.onreadystatechange=function()
  35.     {
  36.         if (ajax.readyState==4)
  37.         {
  38.             contenido_neg.innerHTML = ajax.responseText    
  39.         }
  40.         else
  41.             txtnombrsol_neg.value = 'cargando...';
  42.     }
  43.     ajax.send(null);
  44.     alert ('Se produjo el evento onChange');
  45. }

Mi archivo php: proceso_neg.php, donde se hace la consulta y donde se debe dibujar el input text con el resultado de la consulta.
Código PHP:
Ver original
  1. <script> alert ('Se ejecuta proceso_neg');</script>
  2. <?php
  3. include('../sys/funciones.php');
  4. $claveSeleccionada=$_GET["cve"];
  5. if(validaClave($claveSeleccionada))
  6. {
  7.     //consulto el nombre del empleado
  8.     $nombre=sacar_nombre($claveSeleccionada);
  9.     //imprimo el text actualizado
  10. ?>
  11.     <input name="txtnombrsol_neg" id="txtnombrsol_neg" type="text" value="<? echo"$nombre"?>" size="80" readonly="readonly" maxlength="100" height="8" / style="font-size:12px">
  12. <?php
  13. }
  14. /*printf("<br><tr><td>claveSeleccionada:&nbsp;%s</td></tr>",$claveSeleccionada);
  15. printf("<br><tr><td>nombre:&nbsp;%s</td></tr>",$nombre);*/
  16. ?>

Mi archivo de funciones.php
Código PHP:
Ver original
  1. <?php
  2. /* ES PARA IMPRIMIR MENSAJES DE ALERTA             
  3. echo '<script>alert (" Variable registro SELECCIONADA '.$registro[0].'");</script>';
  4. echo '<script>alert (" Variable categoria SELECCIONADA '.$categ.'");</script>';*/
  5.  
  6. //funcion para conectar a la base de datos y verificar la existencia del usuario
  7. function conexiones($usuario_sys, $password_sys) {
  8.     //conexion con el servidor de base de datos MySQL
  9.     include("../mx/conexion.php");
  10.     //sentencia sql para consultar el nombre del usuario
  11.     $sql_sys = "SELECT * FROM `logistica`.`usuarios` WHERE `nombr_usu`='$usuario_sys' AND `passw_usu`='$password_sys'";
  12.     //ejecucion de la sentencia anterior
  13.     $ejecutar_sql=mysql_query($sql_sys,$link);
  14.     $row_sys=mysql_fetch_array($ejecutar_sql); //Arreglo
  15.     $iduser_sys=$row_sys[0];
  16.     $perfil_sys=$row_sys[3];
  17.     //si existe inicia una sesion y guarda el nombre del usuario
  18.     if (mysql_num_rows($ejecutar_sql)!=0){
  19.         //inicio de sesion
  20.         session_start();
  21.         //configurar un elemento usuario dentro del arreglo global $_SESSION
  22.         $_SESSION['sys_iduser']=$iduser_sys;
  23.         $_SESSION['sys_usuario']=$usuario_sys;
  24.         $_SESSION['sys_perfil']=$perfil_sys;
  25.         //retornar verdadero
  26.         return true;
  27.     } else {
  28.         //retornar falso
  29.         return false;
  30.     }
  31. mysql_free_result($ejecutar_sql);
  32. }
  33.  
  34. //funcion para verificar que dentro del arreglo global $_SESSION existe el nombre del usuario
  35. function verificar_usuario(){
  36.     //continuar una sesion iniciada
  37.     session_start();
  38.     //comprobar la existencia del usuario
  39.     if ($_SESSION[sys_usuario]){
  40.         return true;
  41.     }
  42. }
  43.  
  44.  
  45. //funcion para saber si el usuario tiene privilegios para accesar a la pagina
  46. function verificar_pagina($idform)
  47. {
  48.     include("../mx/conexion.php");
  49.     //sentencia sql para consultar los forms
  50.     $sql_sys2 = "SELECT * FROM `logistica`.`forms` WHERE `perfi_for`='$_SESSION[sys_perfil]' AND `nombr_for`='$idform'";
  51.     //ejecucion de la sentencia anterior
  52.     $ejecutar_sql2=mysql_query($sql_sys2,$link);
  53.     //si existe se abre la pagina autorizada para el usuario
  54.     if (mysql_num_rows($ejecutar_sql2)!=0)
  55.             return true;
  56.         else
  57.             return false;
  58.        
  59. mysql_free_result($ejecutar_sql2);
  60. }
  61.  
  62.  
  63. // Se valida que la clave dada por el usuario en el text tenga un valor numerico
  64. function validaClave($claveSeleccionada)
  65. {
  66.     if(is_numeric($claveSeleccionada)) return true;
  67.     else return false;
  68. }
  69.  
  70. //Obtiene el nombre de empleado a apartir de la clave enviada
  71. function sacar_nombre($id_selec)
  72. {
  73.     include("../mx/conexion.php");
  74.     $busca_neg=mysql_query("SELECT * FROM empleado WHERE clave_emp = $id_selec");
  75.     $row_neg=@mysql_fetch_array($busca_neg); //Arreglo
  76.     $nombre_neg=$row_neg[3]." ".$row_neg[4];
  77.     if (trim($nombre_neg)=="")
  78.         {
  79.             $nombre_neg="NO EXISTE, POR FAVOR INGRESE UNA CLAVE DE EMPLEADO VALIDA";
  80.             return $nombre_neg;
  81.         }
  82.         else
  83.             return $nombre_neg;
  84. }
  85. ?>
  #7 (permalink)  
Antiguo 03/01/2013, 18:58
 
Fecha de Ingreso: julio-2011
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No funciona ajax.open

Esto arroja en la consola de desarrollo web de fire fox:
Si observan en el cuerpo de respuesta aparece lo que quiero pero no se refleja en mi pagina.
Ayudaaaaaaa!!! no se pegar imagenes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:44.