Erreur d'envoi d'un script CGI

stardust69 Messages postés 2 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 25 mai 2010 - 7 avril 2010 à 11:34
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 10 avril 2010 à 06:15
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

stardust69 Messages postés 2 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 25 mai 2010
7 avril 2010 à 14:17
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.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 avril 2010 à 06:15
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)
0
Rejoignez-nous