non è consentita da Access-Control-Allow-Origin
Domanda
Sto cercando di inviare richiesta dal server locale al server di youtube bu console Chrome è visualizzato il seguente messaggio di errore
non è consentito da Access-Control-Allow-Origin Codice è
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);
Sarà fatto implementando la funzione di callback JSONP. Ma non ho idea di come implementarlo
plz mi guida
Soluzione
Non è possibile utilizzare XMLHttpRequest contro l'API di YouTube a causa del browser stessa origine politica . Invece, si dovrebbe utilizzare la funzionalità JSON-p di YouTube API:
http://code.google.com/apis/youtube/2.0/ developers_guide_json.html
Modifica a partire dal 18 maggio 2012, i YouTube supporta API CORS: http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow