Access-Control-Allow-Origin不允许使用

时间:2012-02-17 07:12:28

标签: api youtube cors

我正在尝试从本地服务器向youtube服务器发送请求但是chrome控制台显示以下错误

Access-Control-Allow-Origin 不允许

代码是

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);

这将通过实现JSONP回调函数来完成。但我不知道如何实施它 PLZ指导我

1 个答案:

答案 0 :(得分:5)

由于浏览器same origin policy,您无法对YouTube API使用XMLHttpRequest。相反,您应该使用YouTube API的json-p功能:

http://code.google.com/apis/youtube/2.0/developers_guide_json.html

编辑:截至2012年5月18日,YouTube API支持CORS:http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html