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

Ajax.Request no envia los parámetros

Estas en el tema de Ajax.Request no envia los parámetros en el foro de Frameworks JS en Foros del Web. Buenas, Tengo una web que lista una serie de destacados en la parte derecha mediante la columna orden: Código: $db = sqlite_open('database', 0666, $sqliteerror); $consulta ...
  #1 (permalink)  
Antiguo 24/08/2009, 13:48
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Buenas,
Tengo una web que lista una serie de destacados en la parte derecha mediante la columna orden:

Código:
 $db = sqlite_open('database', 0666, $sqliteerror);
 $consulta = sqlite_query($db,"SELECT * FROM destacados ORDER BY orden");
 $destacados = sqlite_fetch_all($consulta);
 foreach ($destacados as $destacado){
	 $id=$destacado['id'];
	 //$consulta2=sqlite_query($db, "SELECT * FROM destacados WHERE id='".$contid."'");
	 //$destacados2= sqlite_fetch_all($consulta2);
	 //foreach($destacados2 as $destacado2);
	 $titulo=$destacado['titulo'];
	 $texto=$destacado['texto'];
	 $link=$destacado['link'];
	 //$idDestacado=$destacado2['id'];
	 
?>
	 
    <table width="150" height="86" border="0">
      <tr>
        <td height="15" colspan="2" bgcolor="#FFFF33"><?php echo $titulo; ?></td>
      </tr>
      <tr>
        <td height="29" colspan="2" bordercolor="#FFCC33" bgcolor="#FFCC33"><div align="left"><?php echo $texto; ?>
        </div></td>
      </tr>
      <tr>
        <td height="15" colspan="2" bgcolor="#FFFF33"><div align="center"><a href="<?php echo $link; ?>" target="_blank">Clic aquí</a></div></td>
      </tr>
      <tr>

        <td width="75" height="15"><div style="cursor:pointer;" align="center" class="style13" id="<?php echo $id; ?>" onclick=" mover(this.id, '-1')"> SUBIR</div></td>
        <td width="65"><div style="cursor:pointer;" align="center" class="style13" id="<?php echo $id; ?>" onclick="mover(this.id,'1');">BAJAR</div></td>
      </tr>
    </table>
     
  <?php
  //$contid++;
  }
  ?>
En cada destacado tengo 1 div 'Subir' que se encarga de quitarle -1 al campo 'orden' de la base de datos, para que así suba un puesto.

Código:
div style="cursor:pointer;" align="center" class="style13" id="<?php echo $id; ?>" onclick=" mover(this.id, '-1')"> SUBIR</div>
El envio de parámetros lo hago mediante AJAX y lo envía a la página orden.php:

Código:
function mover(id, accion)
{
	
	new Ajax.Request('orden.php', {
		method:'get', 
		parameters:'id='+id+'&sumar='+accion, 
		onFailure: 
			function(){alert('fallo');}, 
		onSuccess: 
			function(){alert('Exito'); location.reload();}
		});
	
}
La función con AJAX me informa que se ha realizado ("Exito") pero no parece enviar los parámetros correctamente porque no se modifican de la base de datos, simplemente siguen igual. Sin embargo si entro en la página "orden.php" y escribo en la barra de dirección "orden.php?id=3&accion=-1" funciona correctamente, sí que resta un 1 al orden del id, en este caso 3.

Por cierto, el código de orden.php es el siguiente:

Código:
<?php 
$db = sqlite_open('database',0666, $sliteerror);
$destacado= sqlite_query($db, "SELECT * FROM destacados WHERE id=".$_GET['id']);
$fila= sqlite_fetch_all($destacado);
foreach($fila as $campo){
	$ordenInicial = $campo['orden'];
	$ordenFinal = $campo['orden']+$_GET['accion'];
}

sqlite_query($db, "UPDATE destacados SET orden=".$ordenInicial." WHERE orden=".$ordenFinal);
sqlite_query($db, "UPDATE destacados SET orden=".$ordenFinal." WHERE id=".$_GET['id']);

?>
Gracias.

He utilizado Ajax.Request para enviar parámetros y nunca me ha fallado, creo que el problema podría ser al enviar parámetros por la función.
Por favor que alguien me eche una mano.

Última edición por GatorV; 24/08/2009 a las 14:04
  #2 (permalink)  
Antiguo 24/08/2009, 14:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ajax.Request no envia los parámetros

Te recomendaría que usaras el complemento Firebug de Firefox para que veas exactamente que es lo que se esta enviando en tu llamada AJAX.

Saludos.
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 19:35.