向Google API发送jQuery Post时出现Access-Control-Allow-Origin错误
|
我读了很多有关“ Access-Control-Allow-Origin”错误的信息,但我不明白我该如何解决:(
我正在使用Google Moderator API,但是当我尝试添加新的系列时,收到以下消息:
XMLHttpRequest cannot load
https://www.googleapis.com/moderator/v1/series?key=[key]
&data%5Bdescription%5D=Share+and+rank+tips+for+eating+healthily+on+the+cheaps!
&data%5Bname%5D=Eating+Healthy+%26+Cheap
&data%5BvideoSubmissionAllowed%5D=false.
Origin [my_domain] is not allowed by Access-Control-Allow-Origin.
我尝试在没有回调参数的情况下尝试将\'Access-Control-Allow-Origin * \'添加到标题中。而且我不知道如何在这里使用$ .getJSON(如果有的话),因为我必须添加Authorization标头,并且不知道没有$ .ajax的beforeCall怎么做:/
这个黑暗的你有光吗?
那是代码:
<script src=\"http://www.google.com/jsapi\"></script>
<script type=\"text/javascript\">
var scope = \"https://www.googleapis.com/auth/moderator\";
var token = \'\';
function create(){
if (token == \'\')
token = doCheck();
var myData = {
\"data\": {
\"description\": \"Share and rank tips for eating healthily on the cheaps!\",
\"name\": \"Eating Healthy & Cheap\",
\"videoSubmissionAllowed\": false
}
};
$.ajax({
url: \'https://www.googleapis.com/moderator/v1/series?key=\'+key,
type: \'POST\',
callback: \'?\',
data: myData,
datatype: \'application/json\',
success: function() { alert(\"Success\"); },
error: function() { alert(\'Failed!\'); },
beforeSend: setHeader
});
}
function setHeader(xhr) {
xhr.setRequestHeader(\'Authorization\', token);
}
function doLogin(){
if (token == \'\'){
token = google.accounts.user.login(scope);
}else{
alert(\'already logged\');
}
}
function doCheck(){
token = google.accounts.user.checkLogin(scope);
return token;
}
</script>
...
...
<div data-role=\"content\">
<input type=\"button\" value=\"Login\" onclick=\"doLogin();\">
<input type=\"button\" value=\"Get data\" onclick=\"getModerator();\">
<input type=\"button\" value=\"Create\" onclick=\"create();\">
</div><!-- /content -->
没有找到相关结果
已邀请:
6 个回复
旅牢斯讲
苛肠倒俱
它像魅力一样运作。多亏了海报
俺呵誓放胳
的服务时遇到此错误,但可以在服务器前放置反向代理,则可以通过重写标头来避免该错误。 假设应用程序在端口8080(公共域位于www.mydomain.com)上运行,并且您将反向代理放在端口80的同一主机上,这是Nginx反向代理的配置:
量华
,则可以同步调用该服务。
笛驮型迸
,这里的下划线(
)子域正在创建CORS错误。将
更改为
后,它可以正常工作。
禽兢玫坞劲
JS
怎么运行的: 您的浏览器将在JS的帮助下将请求发送到您的服务器 您的服务器将向其他任何服务器发送请求,并从其他服务器(任何网站)获得回复 您的服务器会将此回复发送给您的JS 我们可以使事件onClick,将此事件放在某个按钮上。 希望这会有所帮助!