IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Erreur d'envoi d'un script cgi


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [AJAX] Erreur d'envoi d'un script cgi
    Bonjour à tous,
    Je vous demande un peu d'aide pour le pilotage d'une caméra IP.
    Je suis en train de refaire une interface permettant de piloter les mouvements d'une caméra IP de marque Trendnet. j'arrive trés bien à la piloter avec l'envoi de formulaire cgi (du type: http://user:password@IP_camera:port_...ve&Cmd=panscan) mais le pb est que ce script cgi est embarqué dans le firmware de la caméra et je ne peux le modifier.
    Je me retrouve donc après chaque envoi de commande (a partir d'un formulaire) sur une page vierge que je ne peux pas modifier.
    Mon idée à donc été de m'orienter sur une procédure Ajax, afin de ne plus sortir de la page en cours mais les commandes envoyés par ce biais ne déclenche pas de mouvement de ma caméra!
    A l'aide!
    Merci d'avance.

    Voila mon script de test de mouvement:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <html>
    	<head>
    		<title>Motorisation Cam T3</title>
    		<script type='text/JavaScript'>
     
    	 		function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				var xhr = getXhr()
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						alert(xhr.responseText);
    					}
    				}
    				xhr.open('POST','http://user:password@IP_camera:port_tcp/cgi/admin/ptctrl.cgi',true);
    				xhr.send('action=move&Cmd=panscan');
    			}
    		</script>
    	</head>
    	<body>
    		<input type='button' value='PanScan' onclick='go()' />
    	</body>
    </html>

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Complément d'information
    Pour information, ce formulaire me permet de faire bouger la caméra mais me renvoi sur une page blanche! Quel est l'erreur dans mon script précédent?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FORM action="http://user:password@IP_camera:port_tcp/cgi/admin/ptctrl.cgi?action=move&Cmd=panscan" method=POST>
    <INPUT type="submit" value="Pan Scan">
    </FORM>
    Merci d'avance pour vos réponses.

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Pour faire vite Ajax nécessite que l'IP du server WEB vers lequel tu envoies la requête soit la même que celle de la page sur laquelle tu es (sauf cas particulier hors sujet ici). En bref une page appelée via http://ip1/page.html pourra faire des appels ajax uniquement vers ip1.

    Or je suppose que ce n'est pas le cas... mais tu peux faire bien plus simple. Crée un IFRAME de taille nulle et envoie le résultat de ton post vers cet iframe. Quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <iframe width="0" height="0" name="trounoir">/iframe>
    <FORM target="trounoir" action="http://user:password@IP_camera:port_tcp/cgi/admin/ptctrl.cgi?action=move&Cmd=panscan" method=POST>
    <INPUT type="submit" value="Pan Scan">
    </FORM>
    et le tour est joué.

    ERE
    Quand une tête pense seule, elle devient folle.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Parfait, ça marche nickel!
    D'une j'ai eu une explication logique à mon pb avec Ajax et de deux, vous m'avez proposé une solution alternative qui fonctionne parfaitement!
    Merci beaucoup pour votre aide.

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Salut,

    Tu utilises une méthode qui m'intéresse. Méthode POST + Script CGI / shell Linux..
    J'ai ouvert un post ici "XMLHttpRequest, Post, Comment recupérer les valeurs dans script shell?"

    Mais je n'arrive pas à lire les valeurs envoyées...

    Gdal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2013, 20h38
  2. Erreur 500 avec un script "cgi"
    Par tabouet dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 15/11/2009, 04h46
  3. [AJAX] Erreur Serveur 500 sur script perl
    Par fabrice91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/06/2007, 12h21
  4. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14
  5. Réponses: 2
    Dernier message: 19/06/2003, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo