【问题标题】:is not allowed by Access-Control-Allow-OriginAccess-Control-Allow-Origin 不允许
【发布时间】:2012-03-08 14:50:56
【问题描述】:

我正在尝试从本地服务器向 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 回调函数来完成。但我不知道如何实现它
请指导我

【问题讨论】:

    标签: api youtube cors


    【解决方案1】:

    由于浏览器的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

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2013-09-09
      • 2012-06-07
      • 2011-11-05
      相关资源
      最近更新 更多