Comunidad de diseño web y desarrollo en internet online

Envio de varios formularios independientes con $.ajax() de Jquery

Citar            
MensajeEscrito el 12 Feb 2011 02:57 pm
Buenas!

Estoy intentado gestionar las solicitudes de amistad de mi web, y lo hago de la siguiente manera.

Tengo el visualizar_solicitudes.php donde se visualizan las solicitudes (en cada una de ellas, hay 2 botones: Aceptar e Ignorar).

Tengo el procesar_peticion.js donde mediante $.ajax({}) envio el dato que quiero al crear_amistad.php el cual mediante el objeto "usuario" que transporto en $_SESSION[] me lanza el método $usuario->crearAmistad(id_solicitante) (encargado de insertar los datos referentes a la amistad).

No copio todo el código de estos archivos, porque sobra, jee.
Bien, lo importante del archivo: visualizar_solicitudes.php
La variable $formulario es para desde el archivo js, controlar que formulario me ha enviado el dato id_solicitud y una vez acepte o rechace, hacerle un xx.fadeOut(); Empieza en 1 y va incrementando en cada vuelta del while.

Código :

echo"<form id='$formulario' action='' method='post'>";
echo "<br \> $fecha | $nombre_solicitante quiere ser tu amigo: <br>";
echo $mensaje."<br \>";
echo "<input type=submit id='$formulario' value='Aceptar' onClick=aceptar($id_solicitud,$formulario)></input> | <input type=submit id='$formulario' value='Cancelar' onClick=cancelar($id_solicitud,$formulario)></input>";
echo "</form>";


En el .js que recibe los datos y se ejecuta de manera asíncrona:

Código :

function aceptar(id_solicitud, id_formulario){
   
   /*$.ajax({
      async: true,
      type: "POST",
      dataType: "html",
      contentType: "application/x-www-form-urlencoded",
      url: "http://miweb/usuario/crear_amistad.php",
      data:'id='+id_solicitud,
      beforeSend: enviando,
      success: recibiendo,
      timeout: 4000,
      error: problema
   });

   return false;


Mi problema es que no consigo que se ejecute bien el script crear_amistad.php

Código :

//Includes y demás
$id_solicitud = $_REQUEST['id'];
$usuario->crearAmistad($id_solicitud); //Se encarga de las gestiones en la bd


Tengo un sistema similar para el envio de las peticiones, y funciona perfectamente. El problema es que no sé cómo hacerlo para poder tener varios elementos en la misma página y que al hacer click en el botón Aceptar o Cancelar de cada petición, se ejecuten de manera asíncrona e independiente. Ésta es la única manera que se me ha ocurrido... pero nada. He puesto en el crear_amistad.php (el que es llamado por $.ajax) un método para ver si llega hasta ahí, una tabla de prueba en la bd en la cual si se ejecuta ese script, actualiza un campo en la bd, tal que:

Código :

$id_solicitud = $_REQUEST['id'];
$insercion = "INSERT INTO bandera(detectar) VALUES($id_solicitud)";
$resultado = mysql_query($insercion, $link);
$usuario->crearAmistad($id_solicitud);


A ver si alguien me puede echar una mano... que me estoy volviendo loco!!! jaja.

Venga, un saludo y gracias!

Por Gerupc

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Feb 2011 03:04 pm
Ahh!! También he probadon con $.get()... pero más de lo mismo :-S

Código :

   $.get("http://miweb.com/usuario/crear_amistad.php",
         {id: id_solicitud},
         function(data){
            alert('Llego hasta aqui'+data);
         }
        );

Por Gerupc

20 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.