Access-Control-Allow-Origin 不允许
Posted
技术标签:
【中文标题】Access-Control-Allow-Origin 不允许【英文标题】:is not allowed by Access-Control-Allow-Origin 【发布时间】:2012-03-08 14:50:56 【问题描述】:我正在尝试从本地服务器向 youtube 服务器发送请求,但 chrome 控制台显示以下错误
代码是
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 回调函数来完成。但我不知道如何实现它 请指导我
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Access-Control-Allow-Origin 不允许的主要内容,如果未能解决你的问题,请参考以下文章