Page 1 sur 1

[Ajax] XMLHttpRequest et URL rewriting

Posté : 03 juil. 2008, 23:40
par Mediadim
Hello

J'ai un souci avec une fonction Ajax que j'utilise régulièrement et bizarrement cela ne fonctionnait plus sur une nouvelle page. J'obtiens le message d'erreur : Permission refusée d'appeler la méthode XMLHttpRequest. J'ai pu identifier le problème mais je ne vois pas comment le résoudre.

Concrètement, mes pages sont accessibles via URL rewriting :
http://ssdomaine.domaine.com/page-nb.html
qui en realité sont :
http://www.domaine.com/site/?www=ssdomaine&file=nb

Et pour la première fois, je voulais intégrer un formulaire de recherche exploitant Ajax présent sur chaque page du site. La fonction JS/Ajax va chercher la page de traitement "rechercher.php" et c'est là que ça foire.

A cause de l'URL rewriting, la fonction pense que la page PHP est à une autre adresse.
D'ailleurs si je tape l'adresse http://www.domaine.com/site/?www=ssdomaine&file=nb aucun bug !
Sauf que je voudrais que ca fonctionne avec http://ssdomaine.domaine.com/page-nb.html

Evidemment j'ai essayé de préciser l'URL mais cela ne marche pas mieux :

Code : Tout sélectionner

xhr_object.open("POST", "http://www.domaine.com/site/rechercher.php", true);
Donc avez-vous la moindre idée de comment débuguer l'affaire ?

Merci

Posté : 04 juil. 2008, 16:21
par Shrell
hm, n'aurais tu pas un moyen de faire pointer http://ssdomaines.domaine.com/rechercher.php sur http://www.domaine.com/site/rechercher.php ? parce qu'à première vue, ce sera le seul moyen que tu auras de faire ce que tu veux
quand tu dis que la fonction "pense" que le PHP est à une autre adresse, tu as tout à fait raison, et effectivement, pour elle, il EST à une autre adresse.
Donc à part une règle de plus dans ton URL Rewrite, pas de solution ;)

Posté : 04 juil. 2008, 16:32
par Mediadim
Eh bien c'est exactement ce que je viens de tenter (les grands esprits se rencontrent) et ca marche !

J'ai mis à jour mon htaccess pour que http://ssdomaine.domaine.com/rechercher soit fonctionnel pour ma page rechercher.php et j'ai modifié ainsi dans ma page de traitement :
xhr_object.open("POST", "http://ssdomaine.domaine.com/rechercher", true);

Pff, je croyais devoir tout refaire sans Ajax avec des iframes ou que sais-je quand j'ai pensé à ça. N'étant pas hyper à l'aise avec htaccess, je n'y ai pensé qu'en dernier recours.

Merci quand même, cela me montre qu'il n'y avait pas d'autre solution...