Mie Jun 25, 2008 4:36 am
|
 |
Lor
Perlero Nuevo

|
Registrado: 28 Abr 2005
Mensajes: 94
Ubicación: Argentina, Santa FE
|
|
| Sesiones - Ajax |
|
|
Estoy trabajando con CGI::Session y CGI::Ajax. Tengo una aplicación con combos(Select) cuyos datos a desplayar dependen uno de la selección hecha en el otro. La carga de los combos es dinámica y dependen de consultas a una base MYSQL.
La aplicación usando Ajax funciona, pero cuando le incorporo la parte de sesiones deja de funcionar. La sesión NO la trabajo con Cookies, obtengo un id de session $sid, y luego lo envío entre una aplicación y otra como parámetro. Uso formularios method post y entre cada aplicación envío la variable session como un hidden.
Cuando Ajax hace la llamada asíncrona, ¿tengo que incorporar aquí algo relacionado a sesiones o debería ser algo transparente?
Bueno , les agradecería una ayuda o algún link donde pueda obtener mayor información,
¡¡¡ Saludos, y GRACIAS !!! |
|
|
|

Mie Jun 25, 2008 6:46 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1366
Ubicación: México
|
|
|
|
|
Hola,
Si pones ejemplos del código que estás usando por el momento podríamos ayudarte más.
Saludos |
|

Jue Jun 26, 2008 7:07 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4036
Ubicación: Valladolid, España
|
|
|
|
|
Esto es lo que he podido recuperar de un cache de google, a punto de desaparecer.
| Perl: | #!/usr/bin/perl -w -T
## ######### PROJECT NAME : ##########
##
## sample.pl for sample Perl/Ajax in /var/www/perl/database
##
## ######### PROJECT DESCRIPTION : ###
##
## Ajax and CGI::session
##
## ###################################
##
## Made by husianycia cedric
## Login <husiana@intellique.com>
##
## Started on Wed Nov 30 20:31:13 2005 husianycia cedric
## Last update Wed Nov 30 21:44:04 2005 husianycia cedric
##
## ###################################
##
## ###################################
## Declaration de librairies
use strict;
use CGI qw(:standard );
use CGI:: Ajax;
use CGI:: Session;
## ###################################
## Declaration de Variables
## Declaration de l'objet CGI
our $cgi;
## Declaration de l'objet Session
our $session;
## ###################################
## Creation d'une session
sub new_session {
my $cgi = shift;
my $directory = "/tmp";
my $session = new CGI:: Session( undef, $cgi,
{ Directory => $directory ,
'new_session' => 'false' } );
return $session;
}
## ###################################
## Ajout dans une sessions
sub set_session {
my $session = shift;
my $name = shift;
my $value = shift;
$session-> param(-name => $name, -value => $value);
return 0;
}
## ###################################
## Recuperation dans une session
sub get_session {
my $session = shift;
my $name = shift;
return $session-> param(-name => $name);
}
## ###################################
## Creation de l'html
sub create_html {
my $html = $cgi-> start_html(-title=> 'Sample',
-author=> 'husiana',
-bgcolor=> '#00FF00',
-text=> '#000000',
- link=> '#0000FF',
-vlink=> '#0000FF',
-alink=> '#0000FF');
my $sess_id = $session-> id();
$html.= "<input type=\"hidden\" id=\"$sess_id\" name=\"$sess_id\" value=\"$sess_id\"><input type=\"text\" name=\"txt\" id=\"txt\" onKeyUp=\"callback( [\'txt\', \'$sess_id\'], [\'result_div\'] ); return true;\">";
$html .= "<br><center><div id=\"result_div\"></div></center>";
$html .= $cgi-> end_html();
return $html;
}
## ###################################
## Ajax callback
sub callback {
my $input = shift;
my $cgi_id = shift;
my $ret = "";
my $session = new_session ($cgi_id);
my $login = get_session ($session, "login");
$ret .= "Login : $login<br>Input : $input";
return $ret;
}
## ###################################
## main
sub main {
$cgi = new CGI;
$session = new_session ($cgi);
set_session ($session, "login", "toto_42");
my $pjx = new CGI:: Ajax( 'callback' => \&callback );
my $var = $pjx-> build_html( $cgi, \&create_html );
print $var;
}
## ###################################
## Appel du main
main (); |
|
|

Powered by phpBB © 2001, 2005 phpBB Group
|