Aller au contenu

Problèmes avec mes urls


siriu

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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é.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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