2010-07-13 3 views
0

J'utilise jquery pour accéder à une méthode de l'API Last.FM. Voici mon code jquery:jquery obtenir la fonction ne fonctionne pas, même si l'URL de la demande fonctionne bien?

$.get('http://ws.audioscrobbler.com/2.0/','method=user.getweeklytrackchart&user=rj&api_key=fb04ae401284be24afba0fbc2f4b0efb', function(data,status) { 
     console.debug("in result method"); 
     console.debug(data); 
}); 

Voici la sortie de la console:

alt text http://img340.imageshack.us/img340/3222/screenshot20100713at623.png

Donc, pour une raison quelconque, ce n'est pas. La chose étrange est, si je viens de coller dans le URL from the console, ça fonctionne bien. Pourquoi cela ne fonctionnerait-il pas lorsqu'il est utilisé sur la page Web? Merci d'avoir lu.

Répondre

3

Les navigateurs n'autorisent pas les appels AJAX interdomaines en tant que mesure de sécurité. Il existe des moyens de contourner cela, mais vous devez avoir accès au serveur cible pour cela.

La solution la plus simple consiste à utiliser votre serveur comme proxy pour effectuer l'appel et renvoyer les résultats au script jQuery.

Voir aussi les autres questions connexes sur SO.

Voir https://stackoverflow.com/search?q=jquery+ajax+cross+domain

Questions connexes