n'est pas autorisé par Access-Control-Allow-Origin
Question
Je suis en train d'envoyer la demande de serveur local sur youtube serveur bu la console de chrome affiche l'erreur suivante
n'est pas autorisé par Access-Control-Allow-Origin Code est
http.open("POST", url, true);
http.setRequestHeader("Authorization", "AuthSub token=" + AccessToken);
http.setRequestHeader("GData-Version", 2);
http.setRequestHeader("X-GData-Key", "key=" + dev_key);
http.setRequestHeader("Content-Length", sendXML.length);
http.setRequestHeader("Content-Type", "application/atom+xml; charset=UTF-8");
http.onreadystatechange = function()
{
if(http.readyState == 4) {
alert(http.responseXML);
alert(http.responseText);
document.getElementById("response").innerHTML=http.getAllResponseHeaders();
}
}
http.send(sendXML);
Il sera fait par la mise en œuvre de la fonction JSONP. Mais je n'ai pas idée comment la mettre en œuvre
plz me guider
La solution
Vous ne pouvez pas utiliser XMLHttpRequest contre l'API YouTube en raison de même politique origine du navigateur. Au lieu de cela, vous devez utiliser la fonctionnalité JSON-p de l'API YouTube:
http://code.google.com/apis/youtube/2.0/ developers_guide_json.html
EDIT: En date du 18 mai 2012, les supports API YouTube CORS: http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html