2010-07-09 4 views
0

J'essaie les méthodes JQuery Ajax. J'ai écrit une simple requête Ajax pour récupérer certaines photos marquées de Flickr. Voici l'extrait que j'utilise:JQuery Ajax Request ne renvoie aucune donnée

function startSearch() { 
     $(function() { 
      var tagValue = $("#tagInput").attr("value"); 
      alert(tagValue); 
      $.ajax({ 
       url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=" + tagValue + "&tagmode=any&format=json&jsoncallback", 
       dataType: 'json', 
       async: false, 
       success: function(data) { 
        alert("Success"); 
        $.each(data.items, function(i, item) { 
          var pic = item.media.m; 
          $("<img/>").attr("src", pic).appendTo("#images"); 
        }); 
       }, 
       error: function(data, error) { 
        alert("Error " + error); 
       } 

    }); }); 

'startSearch' est associé à un bouton de recherche. L'utilisateur est supposé entrer un 'tag' pour rechercher et cliquer sur cette fonction pour l'appeler.

Le problème est que je ne reçois aucune «donnée» en réponse. Par conséquent, aucune image ne s'affiche.

Qu'est-ce que je fais mal ici?

Merci & Cordialement, Keya

Répondre

0

Je pense que le problème est que vous essayez de faire une demande intersite, qui ne fonctionne pas à cause de problème de sécurité. Vous pouvez utiliser JSONP à la place, par exemple. comme décrit dans http://www.viget.com/inspire/pulling-your-flickr-feed-with-jquery/

Vous pouvez également essayer de "cross site ajax" sur ce site, il y a beaucoup de discussion à ce sujet.

+0

En fait, la partie étrange est que, lorsque j'essaie de faire la même chose individuellement, pas dans le cadre du "Clic Bouton", je reçois le flux Flick. Cela ne relève-t-il pas de la demande intersite? Je ne suis pas très familier avec ce concept. Je vais vérifier le lien. Cordialement. – Keya

+0

Qu'entendez-vous par "individuellement"? Comment faites-vous exactement cela? –

+0

Par Individuellement, je veux dire sur le chargement de la page. Et sinon je voulais dire comme je l'ai dit plus tôt, sur un bouton cliquez. – Keya

Questions connexes