2010-09-08 6 views
0

J'utilise ce script pour gratter à partir d'un flux rss pour voir sur un autre site:jQuery XML/RSS Grattez Problèmes

$.ajax({ 
    url: "http://www.thriveafricastore.com/rss.php?type=rss", 
    type: "GET", 
    success: function(d) { 
      $('item', d).each(function() { 
       var $item = $(this); 
       var title = $item.find('title').text(); 
       var link = $item.find('link').text(); 
       var description = $item.find('description').text(); 
       var image = $(description).find('img').attr('src'); 
       var price = $(description).find('span.SalePrice').text(); 

       if (price == '') {price = 'See Price'}; 

      var html = '<p><a href="'+link+'" target="_blank"><img src="'+image+'"/><br/>'; 
       html += '<strong>'+title+'</strong><br />'; 
       html += price+'</a></p>'; 

       $('#store').append($(html)); 

      }); 

    } 
}); 

Il fonctionne localement sur mon ordinateur, mais quand je tente de l'utiliser sur le live site en ligne cela ne fonctionne pas et ne jette aucune erreur (ou du moins aucun que je peux trouver). Des idées sur ce que je pourrais faire de mal et comment je peux le faire fonctionner?

Merci!

Répondre

0

Jolie que vous exécutez des problèmes avec la même politique d'origine, qui interdit la récupération de données côté client à travers des domaines dans de nombreux cas (voir http://en.wikipedia.org/wiki/Same_origin_policy et http://api.jquery.com/jQuery.ajax/)

Je ne sais pas ce langage côté serveur que vous êtes en utilisant (le cas échéant), mais vous pouvez configurer un script côté serveur qui récupère le fichier sur votre serveur, imprime son contenu, puis charge à son tour ce script dans votre JS. En PHP, cela ressemblerait à quelque chose comme ce qui suit:

<?php 

header('Content-Type: text/xml'); 
$ch = curl_init('http://www.thriveafricastore.com/rss.php?type=rss'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
echo curl_exec($ch); 

?> 

Une fois que vous avez fait cela, remplacer l'URL dans votre demande avec l'emplacement de votre script côté serveur (par exemple, fetcher.php).

+0

Parfait! Donc une fois que je fais cela, je vais mettre le fichier php sur le côté serveur du domaine thriveafricastore.com ou du côté où je veux récupérer les données? J'utilise Wordpress sur le côté qui récupère donc ça devrait marcher, je pense. – Marc

+0

En fait, je l'ai eu à travailler. Merci beaucoup! – Marc