Ajax - JSON - Perl

Ajax - JSON - Perl - HTML/CSS - Programmation

Marsh Posté le 23-02-2007 à 19:47:53    

Salut,  
 
Voila mon probleme. J'ai un fichier "test.pl" qui construit une hash en perl, convertit ma hash avec JSON et envoie cette hash a une fonction Javascript "test()":  
 


use strict;
use warnings;
use Data::Dumper;
use JSON;
use CGI;
 
my $q = new CGI;
 
print $q->header();
print $q->start_html(-script =>{-src=>"../javascript.js"});
 
my $hash = {};
$hash->{key} = "COUCOU";
$hash->{desc} = "SALUT";
 
my $js  = objToJson($hash);
print "<a href='#' onClick='test($js)'>TEST</a>";
print $q->end_html();


 
Voici mon fichier Javascript.js dans lequel se trouve la fonction test() :  
 


var http; // Notre objet XMLHttpRequest
 
function createRequestObject()
{
    var http;
    if(window.XMLHttpRequest)
    { // Mozilla, Safari, ...
    http = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    { // Internet Explorer
        http = new ActiveXObject("Microsoft.XMLHTTP" );
    }
    return http;
}
 
function handleAJAXReturn()
{
 if(http.readyState == 4)
    {
        if(http.status == 200)
        {
            document.body.innerHTML = http.responseText;
        }
        else
        {
            document.body.innerHTML = "<strong>N/A</strong>";
        }
    }
}
 
function test(js) {
 http = createRequestObject();
 http.onreadystatechange = handleAJAXReturn;
 http.open('get', './fonctions_test.pl?js='+js, true);
 http.send(null);
}


 
Mon problème c'est que lorsque la fonction Javascript recoit cette hash, il la recoit apparemment en tant que Objet. J'aimerais donc la convertir en String pour pouvoir l'envoyer au fichier "fonctions_test.pl" par une méthode get...
 
J'ai essayé js.toJSONString() mais ca ne marche pas...
 
En fait lorsque je clique sur mon lien TEST dans le fichier test.pl, rien ne se passe !
 
Qqn a t-il une idée ?
 
Merci

Reply

Marsh Posté le 23-02-2007 à 19:47:53   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed