Origine null n'est pas autorisé par Access-Control-Allow-Origin
Je suis actuellement en train de travailler avec l'API SoundCloud et j'aimerais avoir une piste intégrer quand on clique sur un bouton.
- Je obtenir deux erreurs:
XMLHttpRequest ne peut pas charger http://soundcloud.com/oembed.json?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F48419073. Origine null n'est pas autorisé par Access-Control-Allow-Origin.
ET
Uncaught TypeError: Cannot read property 'html', null
Voici mon code:
<button onclick="getPopular()">+1</button>
<div id="track"></div>
<script src="http://connect.soundcloud.com/sdk.js" type="text/JavaScript"></script>
<script type="text/JavaScript">
SC.initialize({
client_id: "**************",
});
var getPopular = function() {
SC.get("/tracks", {limit: 1}, function(tracks) {
var track = tracks[0];
alert("Latest track: " + track.title);
SC.oEmbed(track.uri, document.getElementById("track"));
});
};
</script>
J'utilise une alerte dans mon code pour me faire savoir qu'il est en fait de prendre des informations à partir de l'API SoundCloud. Je ne suis pas sûr de ce que le reste est de l'empêcher de partir de leur incorporation.
Grâce, à l'avance, ou en regardant ma question.
- jiggabits
- C'est que "client_id" quelque chose que vous avez à payer pour?
- Laissez-moi deviner, vous essayez d'y accéder à partir de votre localhost?
- SoundCloud est un endroit où vous partager des chansons, donc je suppose cette API serait prendre les chansons de l'utilisateur sélectionné. De toute façon, OP, êtes-vous de tester votre API localement? Mon esprit-lecture pouvoirs ne sont pas aussi bon que tous les autres, de SORTE répondeur et votre origine du problème est le plus probable par rapport à l'exécution de votre API localement sur Chrome/Opera.
- Gestion des ressources humaines, je suis en cours d'exécution localement sur Chrome. Permettez-moi de voir si je peux héberger le code quelque part temporairement. @Fabrício Matté Merci pour l'entrée.
- OMG @Fabrício Matté je vous aime. Œuvres en ligne.
- double possible de XmlHttpRequest erreur: Origine null n'est pas autorisé par Access-Control-Allow-Origin et beaucoup d'autres.
- Pas de problème, chaque programmeur doit avoir couru dans ce problème à un certain point. 🙂
Vous devez vous connecter pour publier un commentaire.
De lire un peu de Même La Politique De L'Origine à comprendre votre problème principal de mieux. Ajax, localhost et de Chrome/Opera ne vont pas bien ensemble. Cette question relative à la est encore mieux.
Votre deuxième problème est dû à l'appel Ajax (quelque part dans votre API) qui ne retourne pas une
html
réponse due à la première erreur.Au lieu d'expliquer le problème (qui est très bien expliqué dans les liens ci-dessus), je vais vous donner une solution. Puisque vous êtes en cours d'exécution sur Chrome, il y a une solution pour que. Lancez google chrome avec cette option:
(solution de contournement qui j'ai emprunté sans vergogne de Pointu)
Vous pouvez également essayer de le faire fonctionner sur Firefox, ou d'hébergement temporaire. 🙂
P. S. Si vous prévoyez de faire de sérieuses de développement à partir de votre ordinateur local, vous pouvez envisager l'installation d'Apache pour servir et contenu de l'examen par
http://localhost
, levant ainsi lafile:///
restrictions.Voici quelques excellents outils qui viennent avec Apache et PHP pré-configuré pour le développement:
Si vous avez une piste, je voudrais essayer, alert(document.getElementById("track")); assurez-vous que vous êtes l'obtention de votre élément du dom.