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

Problema con XAJAX

Estas en el tema de Problema con XAJAX en el foro de Frameworks JS en Foros del Web. Hola otra vez, sigo con mis problemas con ajax y xajax...creo que he conseguido encontrar el punto en el que mi código da error, pero ...
  #1 (permalink)  
Antiguo 23/09/2009, 02:31
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema con XAJAX

Hola otra vez, sigo con mis problemas con ajax y xajax...creo que he conseguido encontrar el punto en el que mi código da error, pero no veo el por qué?sólo me aparece en IE. Y si que tengo definido ajax, no? igual me dejo algo, pero el código por si sólo funciona, sólo no lo hace cuando lo pongo dentro de mi web en servidor local.

El error es:

Linea: 46
Car: 1
Error: 'xajax' no está definido
Código: 0

Código PHP:
<?php
include_once("../Gestor/BBDD/conexDBTMusik.php");

/* LLAMAMOS AL ARCHIVO FUNCIONES Y OBTENEMOS EL IDIOMA ACTUAL */

if (!isset($_SESSION['lang'])) { 
    require(
'../lang/espanol.php');
    
//require('espanol.php');
    
$_SESSION['lang']='espanol';
#por defecto, llamamos al archivo espanol.php (espa&ntilde;ol)
else { 
    require(
'../lang/'$_SESSION['lang'] .'.php'); 
#llamamos al archivo php seleccionado…

//incluímos la clase ajax
require('xajax/xajax_core/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax();

function 
procesar_formulario($form_entrada){
$salida "Gracias por enviarnos tus datos. Hemos procesado esto:<p>";
$salida .= "Nombre: " $form_entrada["nombre"];
$salida .= "<br>Apellidos: " $form_entrada["apellidos"];

//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse();
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
$respuesta->assign("mensaje","innerHTML",$salida);

//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("procesar_formulario");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<html>
<head>
<head>
<?php
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>[COLOR="Red"] //LINEA 46[/COLOR]
</head>

<body>
<div id="mensaje">
<form id="formulario">
Nombre: <input type="text" name="nombre">
<br>
Apellidos: <input type="text" name="apellidos">
<br>
<input type="button" value="Enviar" onClick="xajax_procesar_formulario(xajax.getFormValues('formulario'))">
</form>
</div>

</body>
</html>
<?php include_once("../Gestor/BBDD/desconexDBTMusik.php"); ?>
  #2 (permalink)  
Antiguo 23/09/2009, 07:26
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Problema con XAJAX

probablemente tu error se deba a la linea en donde se incluye el js necesario para la ejecucion. prueba quitando el '/' del final
Código php:
Ver original
  1. $xajax->printJavascript("xajax");

exito.
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
  #3 (permalink)  
Antiguo 23/09/2009, 08:51
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema con AJAX, no funcionan botones de formularios

Cita:
Iniciado por eall Ver Mensaje
probablemente tu error se deba a la linea en donde se incluye el js necesario para la ejecucion. prueba quitando el '/' del final
Código php:
Ver original
  1. $xajax->printJavascript("xajax");

exito.
Pues no, sigue sin funcionar. Es como si el botón de enviar no funcionase...igualmente he estado haciendo pruebas con llamadas a Ajax y hay algo q no funciona bien. Una vez cargada una pagina con ajax los botones de ningun formulario cargado me funcionan. Además tengo hechos unos buscadores y no funcionan bien. Pongo código y comento porque todo se tiene que deber a lo mismo y s i me echan una mano se arreglaria todo seguro:

Aquí hago una llamada a Ajax, si printo $idsel['Id_Sello'] me da por ejemplo 42
Código PHP:
                    <div align="left">
                        <span><?php echo $lng['articulos']['8']; ?></span>
                        <span><a href="#" onclick="cargasello2(<?php echo $idsel['Id_Sello']; ?>)" ><?php echo $sel['NombreSello']; ?></a></span>
                    </div>
Aquí recibo la función y si pongo un alert me da que idsello vale 52
Código:
function cargasello(idsello)
{
  divResultado = document.getElementById('mainContent');
  divResultado.innerHTML= '<img src="./images/ajaxloader.gif">';
  tipo="8";
  ajax=objetoAjax();
  ajax.open("POST", "./buscadores/mostrar_listado.php",true);
  ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
  divResultado.innerHTML = ajax.responseText
  }
  }
  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  ajax.send("idarticulo="+idsello+"&bus="+tipo)
}
También he hecho pruebas en vez de pasandole un número pasandole $sel['NombreSello'], pero entonces el alert no salta, se me queda en la misma página. Si esto lo hago con IE me aparece el mensaje:

Linea: 46
Car: 1
Error: 'El texto de la var' no está definido
Código: 0

Donde por cada artículo a la línea se le suman 46 más, sin embargo no se de donde viene esta línea ya que del js que contiene las funciones javascript no es (he probado cambiando la funcion de sitio, y no me da otra linea) y del while con el que carglo los artículos tampoco, ya que he suprimido lineas en blanco y tampoco me da otra linea diferente.
¿alguna idea?
  #4 (permalink)  
Antiguo 23/09/2009, 08:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema con AJAX, no funcionan botones de formularios

Por lo que creo y veo, aunque no se porque mi error debe estar en esta parte del código ya que los errores en ambos casos son en la línea 46, por lo que debe estar antes, y este es el código que hay antes. ¿Ven algo? Gracias

Código:
function objetoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
  		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function principal(pagina,divID)
{
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) 
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}	
	if(XMLHttpRequestObject)
	{
			var mostrar = document.getElementById(divID);
			XMLHttpRequestObject.open("GET", pagina, true);
			XMLHttpRequestObject.onreadystatechange = function()
			{
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
				{
					mostrar.innerHTML = XMLHttpRequestObject.responseText;
				}
			}
		
	   XMLHttpRequestObject.send(null);
	}
}

function cargasello(idsello)
{   //LINEA46 
  #5 (permalink)  
Antiguo 23/09/2009, 09:10
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Problema con XAJAX

Estimado, el error que mencionas al inicio que dice que xajax no está definido es por la ruta que le entregas a la funcion printJavascript("xajax"); eso indica la ruta en donde esta la carpeta con los codigo de la librería, por lo que verifica que tengas en la raiz la carpeta xajax y que esta contenga los codigos.
Otra cosa, el error en la linea 46 debes buscarlo en el cofigo interpretado, o sea, una vez que carga la pagina, le colocas ver codigo fuente y buscas la linea 46.
Otra cosa que no entiendo para que ocupar xajax si ocupas ajax. la idea es ocupar una de las dos para que no te confundas.
Por ultimo si puedes colocar un link a tu aplicacion para ver el error cuando esta funcionando seria bueno.

avisa cualquier cosa.
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
  #6 (permalink)  
Antiguo 23/09/2009, 09:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema con XAJAX

Gracias por contestar, la linea 46 es el valor de un select, así que no creo que sea esto, en la pagina siempre que le doy a ver codigo fuente me aparece el mismo código, el de la página de inicio (index.php):

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Trivialmusik Tienda Online</title>
<script language="Javascript" type="text/javascript" SRC="./js/cargarcontenedor.js"></script>
<script language="Javascript" type="text/javascript" SRC="./js/validar.js"></script>
<script language="Javascript" type="text/javascript" SRC="./js/cuenta.js"></script>
<link rel="stylesheet" type="text/css" href="./css/estilo.css"/>
  <style type="text/css">
.Button3 {
margin: 0;
padding: 0;
border: 0;
background-color: transparent;
}

.tamanoselect152
{
width:12.9em;
margin-bottom: 5px;
padding-top: 5px; 
}
  </style>

</head>
<body>
    <!-- parte central -->
    <div id="container">  
          <!-- cabecera -->
          <div id="header" >
          	<div id="flags">
            	<ul>               		
                        <li><a href="./setlang.php?lang=espanol"><img src="images/es.gif"></a></li>
                        <li><a href="./setlang.php?lang=catalan"><img src="images/catalonia.gif"></a></li>
                        <li><a href="#"><img src="images/england.gif"></a></li>
                        <li><a href="#"><img src="images/de.gif"></a></li>  
               </ul>
            </div>
            <form name="frmbusqueda2" action="" >
              <div id="buscador" style="position:relative; top: 26px; left:760px;">
              	<select name="id_sello" id="id_sello" class="tamanoselect10" size="1" onchange="cargasello(this.value)">
                    <option selected value="">------- Sellos -------</option>
                                            <option value="0000000031"> </option>
                                                <option value="0000000002"> ABSTRACT RECORDS</option>
                                                <option value="0000000007"> ADN</option>     LINEA 46
                                                <option value="0000000003"> ARTILLERY RECORDS</option>
                                                <option value="0000000008"> AXIOMA</option>
                                                <option value="0000000004"> BEAST MUSIC</option>
La ruta de la función está bien, además es mucha casualidad que me den exactamente la misma linea de error cuando son funciones llamadas desde carpetas diferentes.
He pegado el código donde creo que esta el error porque con Javascript muchas veces cuando te marca el error como me lo está marcando a mí el error no se encuentra exactamente en esa línea sinó en alguna anterior, pero yo no lo veo, por eso he pegado el código, a ver si lo ven ustedes. Muchas gracias!!! yo sigo mirando...

La aplicación la tengo en local, es mi proyecto final de carrera.
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 20:20.