Accès JavaScript du domaine parent au sous-domaine?

J'ai lu ce paramètre document.domain = "example.com" permet d'accéder au domaine parent à partir d'un sous-domaine.

Est-ce que le même travail sera le contraire?

Disons que mon site principal fonctionne sous http://example.com . Toutes les fonctions API auxquelles je souhaite accéder via AJAX (GET & POST) sont hébergées sur http: // api .example.com .

api.example.com je accéder à api.example.com partir d' example.com ?

EDIT : En regardant document.domain nouveau, je ne pense pas que cela résoudra le problème. Le résultat des appels vers api .example.com n'est pas nécessaire HTML, mais produit à partir d'un script PHP exécuté sur le serveur API. Il peut s'agir de JSON, du texte brut, etc., donc il n'y a aucun moyen de définir document.domain pour cela (car ce n'est pas un iframe).

Vous devez définir document.domain sur les deux pages

Vous pouvez également configurer les en-têtes CORS sur votre serveur:

http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/

Aperçu rapide de CORS

Firefox 3.5 et Safari 4 implémentent la spécification CORS, en utilisant XMLHttpRequest comme un "conteneur API" qui envoie et reçoit les en-têtes appropriés pour le compte du développeur web, ce qui permet des demandes inter-sites. IE8 implémente une partie de la spécification CORS, en utilisant XDomainRequest comme un "conteneur API" similaire pour CORS, permettant des requêtes GET et POST simples. Notamment, ces navigateurs envoient l'en-tête ORIGINE, qui fournit le schéma (http: // ou https: //) et le domaine de la page qui fait la demande de site. Les développeurs de serveurs doivent s'assurer qu'ils envoient les en-têtes de droite, notamment l'en-tête Access-Control-Allow-Origin pour l'ORIGINE en question (ou "*" pour tous les domaines, si la ressource est publique).

La norme CORS fonctionne en ajoutant de nouveaux en-têtes HTTP qui permettent aux serveurs de fournir des ressources aux domaines d'origine autorisés. Les navigateurs prennent en charge ces en-têtes et appliquent les restrictions qu'ils établissent. En outre, pour les méthodes de requêtes HTTP qui peuvent provoquer des effets secondaires sur les données utilisateur (en particulier, pour les méthodes HTTP autres que GET, ou pour l'utilisation POST avec certains types MIME), la spécification oblige les navigateurs à "préfliger" la requête en sollicitant des méthodes prises en charge À partir du serveur avec un en-tête de demande HTTP OPTIONS, puis, sur "approbation" du serveur, en envoyant la requête réelle avec la méthode de requête HTTP réelle. Les serveurs peuvent également notifier aux clients si les «informations d'identification» (y compris les cookies et les données d'authentification HTTP) doivent être envoyées avec des requêtes.