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

jQuery Discussion :

Requête Json qui ne marche qu'à partir de la 2ème fois


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut Requête Json qui ne marche qu'à partir de la 2ème fois
    Bonjour,

    Pour faire un petit test de l'utilisation ajax et récupération de réponse sous forme JSon, j'ai crée un petit bout de code à partir de l'exemple dispo sur le site.

    J'ai ajouté une zone de saisie. Mon problème c'est que pour que ça marche, je doit saisir 2 fois


    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
    46
    47
    48
    49
    50
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Recherche Fickr </title>
     
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function () {
    	$("#rechercheForm").submit( function() {							 
    		var url = "http://api.flickr.com/services/feeds/photos_public.gne?tagmode=any&format=json&jsoncallback=?&tags=cat"+$("#tag").val();
    		$.getJSON(url,
    			function(data){
    			  $.each(data.items, function(i,item){
    			    $("<img/>").attr("src", item.media.m).appendTo("#images");
    			    if ( i == 3 ) return false;
    			  });
    			});
     
    	});
    });
    </script>
     
    </head>
     
    <body>
     
    <div id="container">
    	<div id="recherche"> <!-- bloc contenant le formulaire -->
    		<form name="rechercheForm" id="rechercheForm" action="#">
    	    	<fieldset>
    			<legend>Recherche</legend>
    			<label for="tag">Tag :</label>
    		    	<input type="text" name="tag" id="tag" />
    		    	<input type="submit" value="Recherche" class="bouton" />
     
    		</fieldset>
    	    </form>
    	</div>
     
    	<div id="contenu">
    	    	<fieldset id="images">
    			<legend>Images</legend>
    		</fieldset>
    	</div>
    </div>
     
    </body>
    </html>
    Merci.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var url = "http://api.flickr.com/services/feeds/photos_public.gne?tags=" + 
                            $("#tag").val() + 
                            "&tagmode=any&format=json&jsoncallback=?";
    CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            img {
                height: 100px;
                float: left;
            }

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Bonjour,

    merci pour la réponse.
    Malgré cette petite modif, ça ne change rien.
    J'ai finalement trouvé la solution :
    Il faut avoir un return à la fin du submit comme réponse du submit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	$("#rechercheForm").submit( function() {							 
    		var url = "http://api.flickr.com/services/feeds/photos_public.gne?tagmode=any&format=json&jsoncallback=?&tags=cat"+$("#tag").val();
    		$.getJSON(url,
    			function(data){
    			  $.each(data.items, function(i,item){
    			    $("<img/>").attr("src", item.media.m).appendTo("#images");
    			    if ( i == 3 ) return false;
    			  });
    			});
    		return false;
    	});

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

Discussions similaires

  1. [2012] Requête pivot qui ne marche pas.
    Par kesamba dans le forum Développement
    Réponses: 2
    Dernier message: 12/11/2014, 02h39
  2. [AC-2007] requête suppression qui ne marche pas : erreur de syntaxe
    Par tibofo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/09/2009, 11h00
  3. requête SQL qui ne marche pas en tant que vue (view)
    Par charlesz dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/08/2008, 14h25
  4. [MySQL] requête upload qui ne marche pas en local
    Par stuef dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/03/2006, 17h32

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