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

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top