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] contenu flash / requete GET 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
    Octobre 2005
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 168
    Par défaut [AJAX] contenu flash / requete GET php
    Bonjour,

    Comment dire à AJAX que le lien contient un GET que PHP doit récupérer dans la page que je charge ?
    De plus l'affichage de la page que je charge ne fonctionne pas correctement, il ne m'affiche pas le contenu flash.

    Voici mon ajax.js
    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
     
    /*************************************************
        Fonction de definition de l'object xhr
    **************************************************/
    function new_xhr(){
        var xhr_object = null;
        if(window.XMLHttpRequest) // Firefox et autres
           xhr_object = new XMLHttpRequest();
        else if(window.ActiveXObject){ // Internet Explorer
           try {
                    xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
                }
        }
        else { // XMLHttpRequest non supporté par le navigateur
           alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
           xhr_object = false;
        }
        return xhr_object;
    }
    /*****************************************************
        Fonction qui va recharger le contenu
    ******************************************************/
    function load_page(select) {
        var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
        xhr2.onreadystatechange = function(){
            if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
                if(xhr2.status  != 200){//Message si il se preoduit une erreur
                    document.getElementById("player_content").innerHTML ="Error code " + xhr2.status;
                } else {//On met le contenu du fichier externe dans la div "content"
                    document.getElementById("player_content").innerHTML = xhr2.responseText;
                }
            } else {//Message affiché pendant le chargement
                document.getElementById("player_content").innerHTML = "Chargement en cours ...";
            }
        }
        xhr2.open("GET", "player.php", true);//Appel du fichier externe
        xhr2.send(null);
    }
    Le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="?flv=toto.flv" onclick="load_page(this.href);return false;">Lien</a><br />
    Le code où s'affiche la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="player_content"></div>
    et ma page que je charge :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="player">Video Flash</div>
    <script type="text/javascript">
    var so = new SWFObject('../player/player.swf','mpl','320','240','9');
    so.addParam('allowscriptaccess','always');
    so.addParam('allowfullscreen','true');
    so.addParam('flashvars','&amp;file=videos/<?php echo $_GET['flv']; ?>&amp;frontcolor=FFFFFF&amp;lightcolor=cc9900&amp;skin=../player/overlay.swf&amp;bufferlength=5&amp;controlbar=over&amp;autostart=true');
    so.write('player');
    </script>
    Vous avez remarqué le $_GET['flv'] dans ma page a chargé, mais il ne le recupere pas... depuis le lien.

    Je débute en ajax, je dois manquer de parametres

  2. #2
    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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr2.open("GET", "player.php", true);
    Un paramètre GET est transmis dans l'URL, toi tu n'en met pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr2.open("GET", "player.php" + select, true);
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 168
    Par défaut
    J'obtiens une erreur la :

    Erreur*: uncaught exception: [Exception... "Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: ajax.js :: load_page :: line 37" data: no]

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 168
    Par défaut
    J'ai réussi avec comme url :<a href="?trailers/toto.flv">
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xhr2.open("GET", "player.php?flv=" + select.split('?')[1], true);
    Mais il ne m'affiche pas le contenu flash de la page, j'ai le droit au texte qui le remplace en fait : <div id="player">Video Flash</div>

  5. #5
    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 : 54
    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
    C'est normal, le JavaScript n'est pas exécuté...
    Il faut le récupéré et le passer par un eval. Mais bon, il serait préférable de créer le HTML directement coté serveur parce que là, eval + document.write, c'est à la fois laid et problématique !
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 168
    Par défaut
    Depuis taleur je tourne en rond sur le web, impossible de voir un exemple précis d'eval() avec ajax...

    Déjà que le javascript cest pas mon fort, alors je ne comprend pas où placer exactement et avec quoi appeler cette fonction ?

    Aucun exemple précis sur le web, je me suis rendu compte que c'était un probleme récurrent, enfin normal vu que le javascript sexecute uniquement côté client, et vu que ajax est coté serveur...

    tout le monde parle d'utiliser eval(); mais sans exemple concret.

    Une petite aide ? :o

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 168
    Par défaut
    Comment créer du contenu ? (sans charger une page externe donc)

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

Discussions similaires

  1. [AJAX] Requete GET sur un fichier php
    Par Julleb dans le forum AJAX
    Réponses: 6
    Dernier message: 21/05/2009, 12h12
  2. [AJAX] Requete ajax sur une meme page php
    Par Bownobo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/06/2007, 11h25
  3. Réponses: 2
    Dernier message: 20/11/2006, 13h55
  4. [AJAX] Moins de requetes possibles sur un server. Ajax ou Php?
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/05/2006, 13h08

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