Bonjour un petit souci avec ajax

voici mon arbo de mon site:

www
--script.js
--index.php
--admin
----index.php
---- recherche_sscat.php

lorsque j'appel ma fonction de mise à jour de code Ajax depuis index de admin ca marche
par contre qd je l'appel depuis le index à la racine ca ne marche pas???

en fait dans la fonction showContent j'ai un retour de
xhr.status = 0; au lieu de 200

auriez vous une idée?

voici le code des appels
celui qui ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
echo("&nbsp;&nbsp;&nbsp;&nbsp;<a href='' onclick='rempliSsCat(2, contenu);'>" . $sscat['nom'] . "</a><br>");
celui qui marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<select onchange='rempliSsCat(this.value, \"span_sscat\");' name='select_cat' size='1'>

voici le code du script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<script type="text/javascript">
function loadPage(url, element_id)
{
  var adresse = url;
  adresse = "recherche_sscat.php?idcat=2";
  makeRequest(adresse, element_id); 
}
 
function rempliSsCat(idcat, element_id)
{
  var adresse = "recherche_sscat.php?idcat=" + idcat;
 
  makeRequest(adresse, element_id);
 
  document.admin_creation_article.valid.style.visibility = 'visible'; 
}
 
function makeRequest(adresse, element_id)
{
alert(adresse);
	if(window.XMLHttpRequest) {
		//FireFox
		xhr = new XMLHttpRequest();
	}
	else {
		if(window.ActiveXObject) {
			//IE
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP" );
			}
			catch (e) {}
		}
	}
 
	if (xhr) {
		//Si ca a fonctionné
		xhr.onreadystatechange = function() {
			showContents(element_id);
    }
		xhr.open("GET", adresse, true);
		xhr.send(null);
	}
	else {
 
		document.getElementById(element_id).innerHTML = "Désolé, impossible de créer une requête XMLHttpRequest";
	}
}
 
function showContents(element_id) {
 
	if(xhr.readyState == 4) { // 4 = terminé et initialisé
		if(xhr.status == 200) { // 200 = terminé pour la page (type erreur 404 = non trouvé etc...)
			var outmsg = xhr.responseText;
alert(outmsg);
			document.getElementById(element_id).innerHTML = outmsg; 
		}
	}
}
 
</script>


losque j'appel la fonction rempliSsCat