Question sur AJAX (XMLHttpRequest)
steeve93800
-
burnedsyn Messages postés 174 Statut Membre -
burnedsyn Messages postés 174 Statut Membre -
Bonjour,
voila en fait je voudrai savoir pourquoi je ne peut pas acceder un site distant avec ajax a l'aide la methode open de l'objet XMLHttpRequest ?
par exemple quand je fait xhr.open("GET","ajax.php",true); j'arrive bien a recuperer le fichier ajax.php.
mais si je fais xhr.open("GET","https://www.google.fr/?gws_rd=ssl",true);
ou
xhr.open("GET","http://192.168.103.111",true); (qui est un site sur mon autre pc)
je n'obtient rien donc ma question est:
est ce normale que cette methode ne prend en compte que les fichiers dans le serveur locale?
et existe t il un moyen d'acceder a un site distant.
merci d'avance pour vos reponses.
voila en fait je voudrai savoir pourquoi je ne peut pas acceder un site distant avec ajax a l'aide la methode open de l'objet XMLHttpRequest ?
par exemple quand je fait xhr.open("GET","ajax.php",true); j'arrive bien a recuperer le fichier ajax.php.
mais si je fais xhr.open("GET","https://www.google.fr/?gws_rd=ssl",true);
ou
xhr.open("GET","http://192.168.103.111",true); (qui est un site sur mon autre pc)
je n'obtient rien donc ma question est:
est ce normale que cette methode ne prend en compte que les fichiers dans le serveur locale?
et existe t il un moyen d'acceder a un site distant.
merci d'avance pour vos reponses.
Configuration: Linux Debian Mozilla 1.8.1.12
1 réponse
-
C'est peut-être parce que les deux adresses que tu fournis se limitent au nom de domaine et ne spécifient pas de fichier particulier... tu as essayé avec une URL du style "http://192.168.103.111/ajax.php" ?
Bonne journée-
si j'ai deja specifier un nom de fichier comme http://192.168.103.111/rc.cgi?v=20
et pouratnt ce fichier est bien dispo car quand j'utilise la commande wget pour recuperer ce fichier sa marche donc ya un probleme quelque part- Pour être plus précis :
L'objet xmlhttprequest avant d'etre déclaré on peut ajouter cela pour autant que le serveur distant ai un certificat (je n'ai jamais essayé personnelement) je t'explique pourquoi après :)
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
}
catch(e) {
alert('erreur');
}
mais cela ne fonctionnera que sous gecko ...
Donc la solution universel est de faire un mini proxy sur ton serveur
ou tu appelle toi meme la page que tu veux :
exemple
echo file_get_contents("http://nomserveur.ext/scriptexterne.php?variable=".$variable);
voila
-