Bonjour, Je m’entraîne à utiliser l'API de movie DB dans le cadre de mes études. Mais j'ai un problème d’accès :
Access to XMLHttpRequest at 'https://www.themoviedb.org/discover/movie?language=fr&sort_by=popularity.desc&include_adult=false&append_to_response=images&(api_key)' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Il semblerait que je sois bloqué par CORS policy, je ne comprends pas trop d'où vient le problème.
Voici une partie de mon code :
const API_URL = "https://www.themoviedb.org/discover/movie?language=fr&sort_by=popularity.desc&include_adult=false&append_to_response=images&(key_api)";
class App extends Component {
constructor(props) {
super(props)
this.state = {}
}
componentWillMount() {
axios.get(`${API_URL}`).then(function(response){
console.log("-------------------");
console.log('', response);
console.log("-------------------");
});
// ${POPULAR_MOVIES_URL}&${API_KEY}
}
Alors que quand je met cet url :
const test = "https://api.themoviedb.org/3/movie/76341?api_key=(api_key)"
cela marche, et je n'ai pas ce genre d'erreur :/
Quelqu'un peut-il m'aider à comprendre ? Je vous remercie, bonne journée.
Un film, une émission télévisée ou un artiste est introuvable ? Connectez-vous afin de créer une nouvelle fiche.
Vous souhaitez évaluer ou ajouter cet élément à une liste ?
Pas encore membre ?
Réponse de Midosol
le 11 avril 2019 à 07h01
Finalement, j'ai résolu le problème. J'ai juste eu à télécharger l'extension sur chrome "Moesif Orign & CORS Changer".
Réponse de Travis Bell
le 15 avril 2019 à 10h28
Happy to hear you sorted it out.
Cheers.
Réponse de fselcukcan
le 4 mai 2019 à 08h10
Wait but why? :)
This chrome extension you mention probably adds some request headers like
"Allow-Control-Allow-Origin": "*"
, which I added manually to my request code, but I cannot still fetch. Though my app is able to do preflight request as I inspect.The url for my above requests is
http://api.themoviedb.org/3/discover/movie?sort_by=vote_average.desc&api_key=XXXXXXXXXXXXXXXXXX
(same for
https://api.themoviedb.org/3/discover/movie?sort_by=vote_average.desc&api_key=XXXXXXXXXXXXXXXXXX
)I can successfully get the data when I try in a new tab.
However I have no problem fetching for example the movie owner of the question wrote in my app without any additional thing, header etc. :
http://api.themoviedb.org/3/movie/76341?api_key=XXXXXXXXXXXXXXXXXX
my code is as follows:
Réponse de Travis Bell
le 5 mai 2019 à 13h10
@fselcukcan Are you having an issue? I can't quite tell if you need help or not. If so, give me some more info as to what is failing.
Cheers.