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