Sajax et l’URL Rewritting

Re-bonjour, voici le 2ième « hacks » pour Sajax (voir mon précédent post sur Sajax et les Cookies).

Alors soyons cours mais efficace.

Sajax appel ses requêtes asynchrones par l’adresse courante de la page.

exemple :

Si nous sommes sur la page index.php, les requêtes auront pour adresse :

http://www.bisiere.fr/index.php?rs=nom_de_la_fonction&rst=&rsrnd=1220887954407&rsargs[]=arg1&rsargs[]=arg2

Le problème s’impose lorsque l’on souhaite utiliser l’URL Rewritting et accéder à la page index.php via l’adresse :

http://www.bisiere.fr/home

ce qui nous donnera une « requête Sajax » vers cette adresse :

http://www.bisiere.fr/home?rs=nom_de_la_fonction&rst=&rsrnd=1220887954407&rsargs[]=arg1&rsargs[]=arg2

Et au mieux, vous aurez en retour de cette requête la page Html elle même (sans intérêt donc) sinon une erreur.

Le problème se situe dans la fonction sajax_get_my_uri() servant à récupérer l’adresse courante.

Je vous propose donc de modifier cette fonction :

function sajax_get_my_uri() {
	return $_SERVER["REQUEST_URI"];
}

ainsi :

function sajax_get_my_uri() {
	return $_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"];
}

Et le problème est réglé, votre « requête Sajax » ira à la bonne adresse.
Enjoy 😀

Lien utile : Sajax 0.12