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 :
Je le compile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ; }et le bouge dans le rep cgi_bin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cc -o test_arg test_arg.c
je test :l'argument patate est bien dans argv[1]
Code : Sélectionner tout - Visualiser dans une fenêtre à part ~$ /var/www/cgi-bin/test_arg patate
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:
alert() me renvoi seulement argv[0] (le nom du prog)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
j'ai fais pas mal de tests avec la méthode "POST" et plein d’autres avec "GET"
Code : Sélectionner tout - Visualiser dans une fenêtre à part var str_var = encodeURIComponent(" patate");je vous les met pas tous...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
mais je ne parviens pas a appeler ce prog avec un paramètre...
Quelqu'un a une idée?
Un ptit coup de main?...
Partager