【发布时间】:2015-07-16 15:28:04
【问题描述】:
有没有人通过 JavaScript 使用 Google 云打印(特别是 /search)API 取得任何成功?
我尝试了多种方法,但不断收到以下错误。
XMLHttpRequest 无法加载 https://www.google.com/cloudprint/search。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8080' 因此不允许访问。
代码sn-p:
var search = new XMLHttpRequest();
search.open('POST', 'https://www.google.com/cloudprint/search', true);
search.withCredentials = true;
search.setRequestHeader("X-Cloud-Print", "Google-JS");
search.onreadystatechange = function(response){
console.log(response);
};
search.send();
我可以使用演示表单发布:
<form action="https://www.google.com/cloudprint/search" method="post" enctype="multipart/form-data" id="submitForm">
<input type="submit" value="Search"/>
</form>
来自完全相同的网页并且成功;我花了很长时间确保这两个请求在提交的数据和标题方面看起来相同,但无济于事。我不愿意用 Java 写这个(因为试图避免涉及服务器后端),并且欢迎任何帮助。
【问题讨论】:
-
我在同样的问题上苦苦挣扎,我的三重检查是允许的,但仍然得到
Origin is therefore not allowed access. from browser任何人知道解决方案吗? -
你试过这个answer吗?
标签: javascript cors google-cloud-print