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] Récupérer des données facilement


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [AJAX] Récupérer des données facilement
    Bonjour,

    Je crée pour un projet une application web, disposant d'un player musique(soundManager2), juste en dessous de ce player mp3 ce trouve la playlist en cours de lecture. Pour palier au rechargement entier de la page j'ai utilisé AJAX pour que au changement du <select> il me charge la nouvelle playlist sans couper la musique car oui rechargement de la page = coupure de la musique(logique
    Donc avec ma belle fonction innerHTML je charge les data que je récupère en DB, et tout marche bien, sauf quand je teste le player, plus de musique. J'ai trouvé pourquoi, c'est parce que le contenu du <div> ou je fais le innerHTML est vide? alors qu'il m'affiche bien les musiques !
    Le problème c'est que mon player tape dans ce <div> et lis les morceau entre les balises <a>
    Nom : Sans titre.png
Affichages : 108
Taille : 222,1 Ko
    Question :
    Est-il possible que l'AJAX écrive en dur dans mon code HTML les data que je récupère via ma requête?
    Si non, une idée?

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ne fais pas de capture d'écran de code. Copie ton code et colle-le ici entre balises [CODE]. Une capture d'écran du résultat n'est pas forcément une mauvaise idée par contre, ici c'est juste qu'il sert à rien.

    responseText ne doit être utilisé que si le type de données de la réponse, est du texte. Ici tu dis qu'il y a des balises <a>, donc c'est certainement du HTML, de type document et lu avec response ou responseXML.
    Dans ton cas le plus simple est de mettre responseType="text" avant d'envoyer la requête. Ça devrait faire marcher le reste tel que. Mais il pourrait être mieux de renvoyer la liste dans un array JSON et de juste lire le résultat comme un tableau JavaScript sur lequel tu n'as qu'à boucler pour insérer les données. Cela éviterait les erreurs qu'on pourrait mettre involontairement dans une réponse de type HTML.


    Citation Envoyé par vreni09 Voir le message
    rechargement de la page = coupure de la musique(logique
    Bah oui c'est logique. Quand tu recharges la page cela détruit le contrôle qui est à l'origine de la lecture de la musique, et si elle est autorisée à continuer, cela détruit tous les moyens de l'arrêter ou tout autre type de contrôle dessus. Ce serait stupide.
    (Ceci étant dit, j'aimerais quand même beaucoup un système de persistance des contrôles en arrière-plan qui puissent être rattachés à la création d'un contrôle en avant-plan qui porterait le même id, lors des rechargements, ce qui éviterait de devoir forcément faire de l'AJAX quand on veut juste que deux ou trois bricoles survivent aux rechargements et changements de pages.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par thelvin Voir le message
    responseText ne doit être utilisé que si le type de données de la réponse, est du texte. Ici tu dis qu'il y a des balises <a>, donc c'est certainement du HTML, de type document et lu avec response ou responseXML.
    Dans ton cas le plus simple est de mettre responseType="text" avant d'envoyer la requête. .
    Merci de ta réponse rapide, si je comprends bien, tu me conseille d'utiliser l'objet XHR ? ( je connais pas encore super bien AJAX je préfère être sur de pas me tromper )

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Oui.
    Après tout c'est un peu cet objet-là qui ne te donne pas les informations dont tu as besoin.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [AJAX] Récupérer des données avec json
    Par Rony Rauzduel dans le forum AJAX
    Réponses: 4
    Dernier message: 15/10/2012, 17h37
  2. Réponses: 8
    Dernier message: 11/06/2010, 15h11
  3. Réponses: 4
    Dernier message: 22/12/2009, 18h06
  4. Réponses: 14
    Dernier message: 29/04/2009, 09h39
  5. [AJAX] Récupérer des données externes.
    Par shadowbob dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/02/2007, 10h31

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