Ajax senddata probleme chemin en param

courzip -  
 courzip -
Bonjour,

j'utilise la fonction sendata

function sendData(param1, page, div)
{
alert(page);
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else

//définition de l'endroit d'affichage:
var content = document.getElementById(div);

XhrObj.open("POST", page);
//xmlhttp.open("POST", page, true); //ouverture asynchrone

//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
{
//content.innerHTML = XhrObj.responseText ;
RESULT=XhrObj.responseText;
myArray=RESULT.split("\n");
for (i=0;i<myArray.length;i++)
{
key=myArray[i].split("=")[0];
value=myArray[i].split("=")[1];
if (key.length!=0)
{
myElement=document.getElementById(key);
if (myElement!=null)
{
try
{
if (myElement.type=='checkbox')
if (value=="1")
myElement.checked=true;
else
myElement.checked=false;
else
if (myElement.type=='text')
myElement.value=value;
else
myElement.value=value;
}
catch (e)
{
alert(e);
myElement.value=value;
}
}
}
}
}
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param1);

}//fin fonction SendData

le probleme est que quand je j'appelle cette fonction ainsi ca fonctionne
select name="Centre" id="centreid" onchange=sendData("Document="+document.getElementById(\'DocumentId\').value,"test.php","");

mais des que je met un chemin( remplacer test.php par modeles/test.php ça ne fonctionne plus

select name="Centre" id="centreid" onchange=sendData("Document="+document.getElementById(\'DocumentId\').value,"modeles/test.php","");

j'ai aussi essayé ".modeles/test.php"

ou voire même le chemin complet

merci de votre aide car je suis nul

4 réponses

  1. Defouille Messages postés 404 Statut Membre 54
     
    Bonjour,

    cela dépend de l'endroit ou se trouve la page que tu veux appeler, par rapport à la page qui appelle.

    Si la page que tu appelle est dans un dossier qui lui même est dans le même dossier que la page appelante, il suffit de mettre le chemin simple :
    monsousdossier/ma_page_appelee.php


    Si la page appelée est dans le même dossier que la page appelante il suffit de mettre le nom de la page (comme dans ton 1er exemple) :
    ma_page_appelee.php


    Si la page appelée est dans un dossier "supérieur", un dossier qui contient lui même le dossier contenant la page appelante dans ce cas la tu dois rajouter ".." pour dire que tu remontes dans la hiérarchie :
    ../ma_page_appelee.php


    En combinant ces règles tu peux atteindre n'importe quel fichier. C'est ce qu'on appelle les liens relatifs.

    0
    1. Defouille Messages postés 404 Statut Membre 54
       
      un petit lien d'explication : http://horta.ulb.ac.be/cours/coursinfo/uv/communication/Chemins.html
      0
  2. courzip
     
    je te remercie Defouille de m'avoir répondu.

    mais j'ai bien compris les chemin relatif et ce que tu me propose je l'ai déjà testé.
    peut être que je me suis mal exprimé dans ma demande.

    quand je mets "test.php" ça fonctionne.

    Je déplace le fichier "test.php" dans le répertoire "modeles"
    et je fais appel à la page "modeles/test.php" et du coup ça ne fonctionne plus.

    Merci de m'aider
    0
    1. Defouille Messages postés 404 Statut Membre 54
       
      le répertoire modeles est bien contenu dans le dossier de la page appelante ?
      0
  3. courzip
     
    Oui !!!!!!!!!!

    voila mon arborescence

    Le cas ou ça fonctionne
    ./
    ici se trouve mon fichier test.php

    ./vues/
    ici se trouve ma page php qui fait appel a ma fonction senddata

    ./js/
    ici se trouve ma fonction senddata

    Le cas ou ça NE FONCTIONNE PAS
    ./modeles
    ici se trouve mon fichier test.php

    ./vues/
    ici se trouve ma page php qui fait appel a ma fonction senddata

    ./js/
    ici se trouve ma fonction senddata
    0
    1. Defouille Messages postés 404 Statut Membre 54
       
      Comment le 1er cas peut marcher, si test.php et la page appelante ne sont pas dans le même dossier ?

      L'important est la position de la page php appelée par rapport à la page php appelante.
      0
  4. courzip
     
    je viens de résoudre mon problème.
    quand je déplaçais mon fichier test.php, je me devais aussi de modifier le chemin des mes includes ( include chemin/function.php)

    merci beaucoup pour ton aide
    0