[AJAX] argv[1], cgi, prog .c et XMLHttpRequest
Bonjour à tous, je suis bien bloqué et j'ai besoin de l'aide des "pros"...
Sur un serveur 'lighttpd" j' appel des prog en langage c grâce au module "cgi".
Jusqu'ici tous va bien, mais j'ai besoin de passer un paramètre a un de mes prog.
Pour tester j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <stdio.h>
#include <stdlib.h>
int main ( int argc , char * argv[] )
{
int i;
// affichage des arguments
printf("Nombre darguments passes au programme : %d\n", argc);
for(i = 0 ; i< argc ; i ++)
{
printf(" argv[%d] : %s \n", i, argv[i]);
}
return 0 ;
} |
Je le compile :
Code:
cc -o test_arg test_arg.c
et le bouge dans le rep cgi_bin.
je test :
Code:
~$ /var/www/cgi-bin/test_arg patate
l'argument patate est bien dans argv[1]
je dois appeler ce prog avec XMLHttpRequest, ça execute le prog mais je n'arrive pas a lui passer d'arguments!!
Voici la fonction sans test d'ajout de paramètre:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function action_bp_5()
{
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("GET", "/cgi-bin/test_arg", false);
xhr_object.send();
if(xhr_object.readyState == 4) alert(xhr_object.responseText);
} |
alert() me renvoi seulement argv[0] (le nom du prog):cry:
j'ai fais pas mal de tests avec la méthode "POST" et plein d’autres avec "GET"
Code:
var str_var = encodeURIComponent(" patate");
Code:
1 2 3 4 5
| var params = "patate";
xhr_object.open("POST", "/cgi-bin/test_arg", false);
xhr_object.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr_object.send(params); |
je vous les met pas tous...
mais je ne parviens pas a appeler ce prog avec un paramètre...
Quelqu'un a une idée?
Un ptit coup de main?...:(