IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Chemin d'accès à l'URL d'appel du fichier PHP


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Par défaut Chemin d'accès à l'URL d'appel du fichier PHP
    Bonjour à tous,

    Voici le code que j'utilise et il fonctionne...
    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
    <script type="text/javascript">
    <!--
    // Code ajax pour l'affichage du mail
    function showInfo(type)
    {
    	var xmlhttp=new XMLHttpRequest();
     
    	xmlhttp.onreadystatechange=function()
    	{
    		if (xmlhttp.readyState === XMLHttpRequest.DONE)
    		{
    			if (xmlhttp.status === 200)
    			/*if (this.readyState==4 && this.status==200)*/
    		 	{
    				// conversion chaîne en objet
    				var obj = JSON.parse(xmlhttp.responseText);
     
    				if(type == 'Contact')
    				{
    					document.getElementById('info_contact').innerHTML = obj['info_result'];
    				}
     
    				if(type == 'Mail')
    				{
    					document.getElementById('info_mail').innerHTML = obj['info_result'];
    				}
     
    				if(type == 'Tel')
    				{
    					document.getElementById('info_tel').innerHTML = obj['info_result'];
    				}
    			}
    			else
    			{
    				alert('Il y a eu un problème avec la requête.');
    			}
        	}
      	}
     
      xmlhttp.open("GET","../ajax/ajax_annonce_infos.php?t=" + type ,true);
      xmlhttp.send();
    }
    -->
     
    </script>
    ... sauf que lorsque j'appelle mon fichier "ajax_annonce_infos.php" (ligne 40) à partir d'une page située à la base de mon site cela ne fonctionne plus ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlhttp.open("GET","ajax/ajax_annonce_infos.php?t=" + type ,true);
    ... je ne comprend pas pourquoi.

    Quelqu’un peut t’il m'aider ? J'ai besoin que cela fonctionne comme ça.

    Merci

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    ce sont des chemins relatifs (par rapport au fichier courant)

    ".." signifie "remonte d'un dossier dans l'arborescence par rapport a la ou tu es"

    t'as 2 codes d'exemples l'un avec le ".." et l'autre sans.

    si par exemple tu es dans tonsite.com/test/index.html et que tu demandes "ajax/ajax_annonce_infos.php"
    => il va chercher tonsite.com/test/ajax/ajax_annonce_infos.php

    si tu demandes "../ajax/ajax_annonce_infos.php"
    => il va chercher tonsite.com/ajax/ajax_annonce_infos.php


    ps (et c'est peut-etre un autre sujet) ton code peut etre simplifie (a tester)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function showInfo(type) {
    	fetch(`../ajax/ajax_annonce_infos.php?t=${type}`) // a voir si le chemin est le bon
        .then(response => response.json())
        .then(data => {
    	document.getElementById(`info_${type.toLowerCase()}`).innerHTML = data.info_result;
        })
        .catch(e => {
          alert('Il y a eu un problème avec la requête.');
          console.log(e);
        });
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Par défaut
    Merci pour votre réponse.

    j'ai bien compris l'histoire des chemins relatifs ...

    ce que je ne comprends pas c'est que :

    • si je suis dans monsite.com/test/index.html et que je demandes "../ajax/ajax_annonce_infos.php" cela fonctionne ...

    • si je suis dans monsite.com/index.html et que je demandes "ajax/ajax_annonce_infos.php" cela ne fonctionne pas ... et j'ai besoin que cela fonctionne comme cela .

  4. #4
    Membre émérite
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 433
    Par défaut
    Bonjour,

    Pour éviter les problèmes de chemins relatifs, renseignes le chemin absolu à partir de la racine de ton site (le premier / après le nom de domaine).
    Si le dossier ajax est bien à la racine du site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fetch(`/ajax/ajax_annonce_infos.php?t=${type}`)
    L'URL /ajax/ajax_annonce_infos.php sera considérée comme tonsite.com/ajax/ajax_annonce_infos.php indépendamment de la page courante.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Par défaut
    j'avais essayé cela ne fonctionne pas

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    qu'est ce qui ne fonctionne pas ? la requête http retourne une erreur 404 ? le résultat du code n'est pas celui prévu ?
    montrez nous l'url où on peut tester cette page.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 100
    Par défaut
    En fait j'ai trouvé ...

    Le problème vient de cette ligne que j'ai sur la page ou Ajax ne fonctionne pas ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="scripts/diapo/class.viewer.js/mootools-1.2-core.js"></script>
    ... il doit y avoir un conflit qui n'existe plus lorsque je supprime cette ligne... Problème du coups c'est le diaporama sur la page en question qui ne fonctionne plus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Symfony 4.2 : appeler fichier PHP depuis JS
    Par Zarkoffe dans le forum Symfony
    Réponses: 7
    Dernier message: 16/04/2020, 19h01
  2. Affichage Modal et appel fichier php
    Par oitsuki dans le forum Langage
    Réponses: 7
    Dernier message: 18/09/2016, 19h10
  3. Appeler fichier php
    Par Kreepz dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/12/2014, 10h53
  4. Appel fichier php avec $.getJSON
    Par bagodah dans le forum jQuery
    Réponses: 3
    Dernier message: 20/04/2011, 14h18
  5. Appel fichier PHP depuis page HTML
    Par luc1310 dans le forum Langage
    Réponses: 5
    Dernier message: 03/10/2008, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo