【问题标题】:Google Cross-Origin Request谷歌跨域请求
【发布时间】:2018-03-13 06:29:39
【问题描述】:

我正在尝试从我的 HTML 页面使用 Google JS API,我必须执行以下操作:

<script src="https://www.google.com/jsapi?key=MY_API_KEY"/>

但我收到以下错误:

火狐:

跨域请求被阻止:同源策略不允许读取 https://www.google.com/jsapi?key=MY_API_KEY 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。

铬:

XMLHttpRequest 无法加载 https://www.google.com/jsapi?key=MY_API_KEY。对预检的响应 请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:8080” 使用权。响应的 HTTP 状态代码为 405。

正如我所读到的,它是由浏览器限制交叉请求引起的,但我不知道如何修复它,所以我可以执行该请求。谁能给我小费?

【问题讨论】:

  • 这个jsf有什么关系?
  • @Kukeltje 因为我的代码是 JSF,我正试图从那里访问它
  • 当然,但是您的代码在特定的浏览器中运行,并且您没有将它们添加为标签,并且大部分 jsf 是 server 端,这是客户端。而且您的 PC 使用操作系统,而您也没有添加它...而且...摘要:标签是针对问题所在的,而不是您使用的...

标签: javascript google-api xmlhttprequest cors


【解决方案1】:

我修复了它,改变了我提出请求的方式:

<script>
    $.ajax({
        url: "https://www.google.com/jsapi?key=MY_API_KEY",
        crossDomain: true,
        method: 'GET',
        async: false,
        dataType: 'script',
        headers:{
            "X-Requested-With":"XMLHttpRequest"
        }
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2012-02-09
    • 1970-01-01
    • 2017-06-15
    相关资源
    最近更新 更多