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 :

[AJAX] Rediriger vers une page


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut [AJAX] Rediriger vers une page
    Bonjour,

    J'utilise un script ajax pour ma navigation. Lorsque je click sur un item du menu,
    le contenu du fichier html est loader dans ma div principale. Ca me permet de moins
    charger la navigation et donc la rendre plus fluide que si je rechargeais toute ma page
    à chaque click.

    Le problème est que dans mes pages principales, j'ai des liens et formulaires qui renvoi vers
    des scripts php qui exécutent des traitements avec une base MySQL. Après traitement, l'utilisateur est censé revenir à la page sur laquelle il était avant l'envoi du formulaire (/lien).

    Le hic, c'est qu'après renvoi vers la page avec la fonction header de php, je me retrouve sur la page principal où j'étais auparavant, mais sans style, sans le menu, sans rien. je n'ai que le contenu de la page qui est censé être dans une div.

    Comment puis renvoyer la personne sur une page complète après le traitement des données du formulaire (/lien) par mes scripts php ?

    Je ne sais pas si j'ai bien expliqué mon problème, mais je me ferai une joie d'ajouter des explications en cas de besoin.

    Voilà mon code ajax :

    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
    function envoieRequete(url,id)
    {
    	var xhr_object = null;
    	var position = id;
    	if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
    	else
    		if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
    	// On ouvre la requete vers la page désirée
    	xhr_object.open("GET", url, true);
    	xhr_object.onreadystatechange = function(){
    		if ( xhr_object.readyState == 4 )
    		{
    			// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
    			document.getElementById(position).innerHTML = xhr_object.responseText;
    		}
    	}
    	// dans le cas du get
    	xhr_object.send(null);
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Après traitement, l'utilisateur est censé revenir à la page sur laquelle il était avant l'envoi du formulaire
    Tu utilises un bouton submit pour le traitement?

    A+.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Comment puis renvoyer la personne sur une page complète après le traitement des données du formulaire (/lien) par mes scripts php ?


    Au-delà du fait que ce n'est pas possible, pourquoi veux-tu faire avec AJAX ce que fait sans problème et sans contrainte un lien ou une soumission de formulaire
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    Bonjour,

    je viens juste de dépiler mes mails et j'ai vu que j'ai reçu des réponses durant la journée.

    Pour répondre aux questions, voilà le test que j'effectue : J'ai une page index (qui utilise smarty) qui intègre un menu dans une div de gauche. Sur chaque lien du menu, je renvoi sur onclick vers un code ajax qui va chercher la page correspondante et qui l'affiche dans la div principale. J'y ai donc créer un lien test qui renvoi vers une page qui a juste un lien href.

    Ce lien fait référence à un script php qui effectue quelques actions (pour test, je rempli une table mysql). Jusque là, tout va bien. Je vois bien mes insert dans la table. Mais après traitement, je voudrai revenir à la page normale. Or actuellement, si je fais un header location de php, au lieu d'avoir toutes les div, je n'ai que le contenu de test.

    Je sais que c'est possible, pcq plein de site utilises ce fonctionnement. D'ailleurs si on se connecte sur le backend du CMS Typolight, on remarque que le fonctionnement est exactement comme ça. Donc, c'est possible. Le truc, c'est que j'ai essayé de dépiler le code de Typolight, et c'est tellement gros comme système que je n'arrive pas à sortir le code qu'il me manque pour arriver à faire ce que je veux.

    Si vous avez une idée, je suis preneur.

Discussions similaires

  1. [Htaccess] Rediriger vers une page en cas d'erreur 404
    Par Alexandrebox dans le forum Apache
    Réponses: 8
    Dernier message: 12/01/2007, 07h01
  2. Rediriger vers une page après sélection dans un select
    Par belzeluc dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/11/2006, 22h32
  3. Réponses: 8
    Dernier message: 24/07/2006, 12h26
  4. Réponses: 13
    Dernier message: 25/05/2006, 04h13
  5. [PHP-JS] PHP qui redirige vers une page
    Par jeanfrancois dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2006, 11h52

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