no está permitido por el accesorio-control-aligin
Pregunta
Estoy tratando de enviar la solicitud del servidor local al servidor de YouTube BU La consola Chrome está mostrando el siguiente error
no está permitido por el accesorio-control-aliginEl código es
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);
Se realizará implementando la función de devolución de llamada JSONP. Pero no tengo idea de cómo implementarlo
por favor guíame
Solución
No puedes usar xmlhttprequest contra la API de YouTube debido a la del navegador Política de origen de la misma. En su lugar, debe usar la funcionalidad JSON-P de la API de YouTube:
http://code.google.com/apis/youtube/2.0/developers_guide_json.html
EDITAR: A partir del 18 de mayo de 2012, la API de YouTube admite CORS: http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html