Question

Je travaille sur un intranet avec plusieurs sous-domaines. Je contrôle chaque sous-domaine, la sécurité des requêtes intersites n’est donc pas un problème. J'ai des scripts PHP avec des réponses JSON que j'aimerais appeler de plusieurs sous-domaines sans duplication. Pour les demandes GET, je peux le faire avec AJAX et JSONP, mais cela ne fonctionne pas avec les demandes POST. Certaines alternatives que je vois ne semblent pas très bonnes:

  • POST sur une copie du sous-domaine local avec une réponse minimale, puis réponse GET complète depuis l'emplacement central avec JSONP
  • POST et GET sur une copie sur un sous-domaine local avec JSON
  • Utilisez mod_rewrite pour utiliser des URL locales avec un script central en back-end avec JSON
  • Utilisez des liens symboliques pour utiliser des URL locales avec un script central en back-end avec JSON

Me manque-t-il quelque chose de plus simple? Que feriez-vous ici?

Était-ce utile?

La solution

Il suffit de regarder ce https://developer.mozilla.org/En/HTTP_access_control . page. Tout ce dont vous avez besoin - ajoutez un en-tête à tous vos scripts acceptant la demande de publication. Exemple:

Autres conseils

Vous pourriez écrire un simple réflecteur côté serveur. Ajoutez un script à chaque domaine qui transmet simplement votre demande ajax au domaine approprié. Ce script peut être très simple (1 ou 2 lignes de code), il évite les problèmes de script entre sites et vous évite de dupliquer la logique métier complexe dans vos scripts existants.

Cela occasionnera du travail supplémentaire à votre serveur, mais cela ne vous posera peut-être pas de problème.

L'exemple de code le plus proche que je puisse trouver sur les sites que je gère est le suivant. Ici, nous devions pouvoir utiliser l'API graphique de Google sur une connexion HTTPS (qu'elle ne prend pas encore en charge). La solution consistait à ajouter le script suivant qui transmettait les appels à ...

<?php
// Set header so our output looks like a PNG
header("Content-Type: image/png");

// Reflect the image from googles chart API
echo file_get_contents('http://chart.apis.google.com/chart?'.

Vous pourriez écrire un simple réflecteur côté serveur. Ajoutez un script à chaque domaine qui transmet simplement votre demande ajax au domaine approprié. Ce script peut être très simple (1 ou 2 lignes de code), il évite les problèmes de script entre sites et vous évite de dupliquer la logique métier complexe dans vos scripts existants.

Cela occasionnera du travail supplémentaire à votre serveur, mais cela ne vous posera peut-être pas de problème.

L'exemple de code le plus proche que je puisse trouver sur les sites que je gère est le suivant. Ici, nous devions pouvoir utiliser l'API graphique de Google sur une connexion HTTPS (qu'elle ne prend pas encore en charge). La solution consistait à ajouter le script suivant qui transmettait les appels à ...

<*>SERVER['QUERY_STRING']); ?>

J'utilise l'approche REST dans de tels cas. Recherchez sur Google pour plus d'informations sur REST.

Si tous les sous-domaines appartiennent au même domaine, vous pouvez simplement ajouter ce code à chaque page:

document.domain = 'domain.com';

Ensuite, utilisez simplement plain xmlHttpRequest.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top