[OSM-dev-fr] Aide html/javascript

Philippe Verdy verdy_p at wanadoo.fr
Lun 28 Avr 12:36:28 UTC 2014


Ce ne serait pas une limite de sécurité des XmlHttpRequest imposée par IE8
pour une requête inter-domaine qui empêche la requête de s'exécuter ?

Deux lignes bizarres (dans ton main.js):

xhr.setRequestHeader( "Content-length", params.length );
xhr.setRequestHeader( "Connection", "close" );

Pour la première ce n'est pas la bonne valeur, car tu compte le nombre de
caractères UTF-16 de la chaîne Javascript et non son encodage dans la
requête (UTF-8) et aussi il manque le réencodage HTTP des sauts de ligne.
Tout dépend de ce qui est dans params.
De plus tu utilises à la fois des param_tres POST et des paramètres GET
dans une requête POST:
xhr.open("POST", "getDepartement.php?ville=" + ville, true );
Pour pas simplement dans ce cas ne pas tout mettre dans la query string et
utiliser une requête GET?

Pour la seconde, Connection:close est suspect. A priori on ne précise que
la condition keep-alive (si la requête se fait en HTTP/1.0 et sinon rien en
HTTP/1.1).

Les deux entêtes Connection:close et Content-length:* sont marqués "unsafe"
par la console de Chrome mais je soupçonne que le vieux XmlHTTPRequest
d'IE8 soit plus radical et rejette ta requête. A priori c'est au composant
XMLHttpRequest de s'en charger.

Enfin XMLHttpRequest dans IE a été un activeX nécessitant une autorisation
spéciale et qui peut sinon t'empêcher de faire une requête interdomaine.
Mais ici l'URL que tu utilises dans xhr.open() ne précise pas le domaine et
si XmlHTTPRequest est un composant externe, il n'aura pas accès tout seul à
l'URL de base de ton document. Il faut alors préciser l'URL complète et pas
une URL relative;

Cela concerne aussi:

    xmlhttp.open("GET", "getCenter.php?dep=" + dep + "&ville=" + ville);

où cette fois tu n'utilises que des paramètres GET (dans la query-string),
requête qui a l'avantage d'être cachable par défaut au contraire des
requêtes POST.



Le 28 avril 2014 13:00, Tyndare <tyndare at wanadoo.fr> a écrit :

> Le 28 avril 2014 06:15,  <didier2020 at free.fr> a écrit :
> > je viens juste d'essayer sur windows xp
> > + avec ie8:
> >
> > - en bas a droite de la page web, le lien de l'image "openstreetmap.fr"
> est brisé : http://www.cleo-carto.com/images/cartouche_osm-fr.png
> > mais il y a une redirection de cleo ...
>
> Effectivement. Je ne connais pas trop l'historique du site web.
> Quelqu'un sais où trouver une image cartouche osm fr pour remplacer ?
>
> > - la selection du departement fonctionne mais la liste des communes est
> vide
>
> La je sèche...
> La liste est normalement remplie en modifiant la valleur innerHTML
> avec le résultat d'une XmlHttpRequest. Je ne sais pas trop ce qui pose
> problème avec IE8.
>
> _______________________________________________
> dev-fr mailing list
> dev-fr at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/dev-fr
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20140428/5376186c/attachment.html>


Plus d'informations sur la liste de diffusion dev-fr