Erreur d'envoi d'un script CGI

Signaler
Messages postés
2
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
25 mai 2010
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
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_tcp/cgi/admin/ptctrl.cgi?action=move&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:

<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>



</html>

2 réponses

Messages postés
2
Date d'inscription
lundi 15 décembre 2008
Statut
Membre
Dernière intervention
25 mai 2010

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?

<FORM action="http://user:password@IP_camera:port_tcp/cgi/admin/ptctrl.cgi?action=move&Cmd=panscan" method=POST>

</FORM>

Merci d'avance pour vos réponses.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour,
Mets un TARGET dans ton formulaire qui pointe sur une IFRAME que tu mets dans ta page avec un style.display = none.

La méthode AJAX ne fonctionne que sur un même domaine donc pas adaptée dans ton cas.

;O)