Cross domain AJAX ou services WEB

Avec Flash, c’est assez facile, il suffit de mettre à la racine de votre serveur un fichier crossdomain.xml ….

Avec de l’AJAX (jQuery par exemple), la dernière version de Google Chrome introduit une nouvelle erreur Javascript lors d’appel cross-domain:

Origin null is not allowed by Access-Control-Allow-Origin.

Pour la corriger, il suffit que votre script côté Serveur renvoie le bon HTTP header: Access-Control-Allow-Origin

Par exemple en Php, ajouter cela en début de script: header(‘Access-Control-Allow-Origin: *’);

Et voila !

Services Web

Tagged with: ,
Posted in JQuery, Php
3 comments on “Cross domain AJAX ou services WEB
  1. Clemzo says:

    Merci pour cette info qui commence u00e0 me tracasser.nPar contre, si je fais appel u00e0 un banal fichier sur mon disque local sans serveur php, comment puis-je ru00e9soudre ce PB ?

  2. Impossible ! Il faut prendre un peu de recul : AJAX, c’est une requu00eate protocol HTTP qui se fait donc sur un serveur .. comptabile HTTP. Vous ne pouvez pas accu00e9der u00e0 un fichier directement, (C: oto.txt … ne marchera pas, enfin u00e7a peut marcher sur un navigateur mais ce n’est pas normal ;-) nnInstaller un serveur HTTP sur votre ordinateur (type Apache, avec le package EasyPhp) et vous aurez ainsi accu00e8s u00e0 votre Disque Dur comme sur un serveur ! Vous pouvez mu00eame avec un peu de bidouille, ouvrir vos fichiers sur Internet en passant pas votre Box…

  3. Muchas gracias!

    Me estaba rompiendo la cabeza buscando una solución del lado de JavaScript, pero agregando este header() la petición obtiene la respuesta.

    Mercy!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>