Aller au contenu

Sujets conseillés

Posté

Bonjour,

Sur une page externe js j'ai un script ajax en jquery appelant une page PHP.

Ce script peut être appelé depuis plusieurs dossier sur le site.

En développent j'avais mis comme chemin vers la page PHP appelé depuis le script ajax son URL depuis la racine du site. Seulement en déplaçant le site sur un serveur,utilisant un virtual host, le script ajax ne trouve plus la page php.

Bien sur je peux corriger pour le faire fonctionner, mais j'aimerai savoir quel est la technique pour avoir une url qui fonctionne quel que soit l'emplacement du site. En PHP c'est simple mais sur un script jQuery, je ne sais pas faire :(

Merci pour votre aide

Posté

jQuery et plus généralement le Javascript est exécuté du côté client. Il est alors impossible, à ma connaissance, d'atteindre un fichier non atteignable via l'URL.

Posté
Bien sur je peux corriger pour le faire fonctionner, mais j'aimerai savoir quel est la technique pour avoir une url qui fonctionne quel que soit l'emplacement du site. En PHP c'est simple mais sur un script jQuery, je ne sais pas faire :(

Pour que ça fonctionne quel que soit l'emplacement de la page web exécutant le javascript, il suffit simplement d'écrire l'url absolue dans la requête ajax. Si l'url n'est pas absolue, alors il devient nécessaire que le chemin relatif soit toujours exact. En fait, ajax ou pas ajax, c'est pareil pour n'importe quelle requête...

Posté

Si le script appelant (le javascript) et le script appelé (php) sont destinés à être sur le même site web (plus précisément sur le même domaine), alors le plus simple, c'est d'écrire tes urls en relatif, par exemple : machin.php ou ../truc/machin.php Ou bien en semi-absolue, c'est à dire à partir de la racine du domaine, donc en commençant par un slash : /machin.php ou /truc/machin.php etc...

Ainsi, que tu sois en dev ou en prod, l'arborescence étant la même, ça marche dans tous les cas et tu n'as rien à changer :)

C'est uniquement si le script appelant et le script appelé ne sont sont pas sur le même domaine qu'il faut alors écrire les urls en absolue (url complète avec le nom de domaine). Dans ce cas, l'idéal est de définir une bonne fois pour toutes une constante ayant pour valeur le nom de domaine où se trouve le script appelé.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...