Ajax crossdomain flXHR

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 22 sept. 2009 à 13:08
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 24 sept. 2009 à 10:52
Bonjour tout le monde :)

Voilà quelques temps que j'essaye de faire fonctionner un plugin prototype qui permet de faire des requêtes ajax sur un serveur B via un serveur A.

J'ai donc fait des recherches et trouvé : flXHR
Cependant son utilisation m'échape un peu je trouve rien de clair même dans leur tuto... (http://flxhr.flensed.com/code/tests/flxhr-7b.html)
ou même leur doc (http://flxhr.flensed.com/documentation.php#constructor)

Qqun aurait il une autre solution plus fournie ? ou alors une explication du pq mes requêtes ne partent pas ...?
Je copierais mon code ce soir (je l'ai pas sur moi ^_^)

Merziiiii


Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

8 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 11:24
Bonjour,
si on parle de la même chose
( échanges de données avec AJAX inter domaines ),
ça ne se passe pas si mal, même si
c'est exclusif FireFox ( il faut espérer
que les autres y viennent )
un exemple tout simple :

sur un site "A" :
( en synchrone et pas avec tous les navigateurs,
pour le test uniquement )
<html>

<script>
var xml = new XMLHttpRequest();
xml.open( "get", "http://url du site b/ajax.php", false);
xml.send("");
alert(xml.responseText);
</script>

</html>

sur le site "B" :
<?php header("Access-Control-Allow-Origin: *");
echo Date('l j F Y'); ?>

quand à l'adapter au contexte mis en exemple
( prototype et le reste ! ) :
Cordialement [mon Site] [M'écrire] Bul
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
22 sept. 2009 à 22:06
Comme prévu voici la source...
<head>
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript" src="./prototype.flXHRproxy.js"></script>
<script type="text/javascript" src="./flXHR.js"></script>
<script type="text/javascript" src="./checkplayer.js"></script>
<script type="text/javascript" src="./swfobject.js"></script>
<script type="text/javascript" src="./flensed.js"></script>
<script type="text/javascript" src="./js.js"></script>
<script language="Javascript" type="text/javascript">
Ajax.flXHRproxy.registerOptions("http://myDediboxIp",{instancePooling:true,autoUpdatePlayer:true,xmlResponseText:false,loadPolicyURL:"http://myDediboxIp/crossdomain.xml"});
</script>
</head>



,








et la fonction RequeteAjax qui est dans js.js

function RequeteAjax(oObjectRequest,sUrl,sMethod,sContainer){
var sObject= Object.toJSON(oObjectRequest);
new Ajax.Request(sUrl, {
method: 'post',
onSuccess: function(transport){
if(transport.responseText!=-1){
var response = transport.responseText;
if(sContainer!=''){
document.getElementById(sContainer).innerHTML=response;


}
}
},
onFailure: function(){
alert('Something went wrong...');
},
on404: function(){
alert('cannot find');
},
encoding: 'UTF-8',
parameters: {response: sObject}
});
}

à cette adresse il y a ceci : http://myDediboxIp/crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>


</cross-domain-policy>


Je vois vraiment pas ce qui l'empêche de la faire :/

Autre info... quand je clique sur le bouton, le dom change ...
Un noeud comme celui ci se rajoute a mon body

<object id="flXHR_swf_1" class="flXHRhideSwf" height="1" width="1" type="application/x-shockwave-flash" name="flXHR_swf_1" data="file:///C:/wamp/www/clientJS/flXHR.swf">



Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
23 sept. 2009 à 09:38
Impossible de faire fonctionner ce bazar j'ai donc opter pour la solution avec du Curl (cf lib PHP)!
j'envoie une requete ajax du serveur A au serveur A. Elle arrive a un pseudo dispatcher, vérifie quelques règles et balance une requête vers le serveur B.
Voilà !


Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
23 sept. 2009 à 09:38
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
23 sept. 2009 à 22:53
Donc c'est faisable en utilisant FF... Pas jojo tout ça :(
Du coup mon ptit script getContent.php assure pour tous les browser par contre il faut faire tourner apache sur le client avec l'estension curl...
C'est toujours mieux que pas possible!

Heureusement que tu es là et que tu en connais un rayon! Une fois de plus je te remercie :)


Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 09:30
aujourd'hui seul FireFox permet
cela avec ajax , je crois.
il faut donc faire "autrement",
le langage serveur est une voie.

reste à espérer que tous les navigateurs
viendront à cet ajax multi-domaines.
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
24 sept. 2009 à 10:29
Je pensais que flXHR le faisait pour tout browser mais je n'ai pas réussit a faire fonctionner le bouzin >_<
Quelles sont les autres voies possibles ?


Il vaut mieux poser une question et passer pour bête que le rester toute sa vie  Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 10:52
>>flXHR le faisait
en javascript à priori, donc exclusif FF
>>autres voies possibles ?
"la plupart" des langages doivent permettre
0
Rejoignez-nous