gpt4 book ai didi

javascript - 使用 OneSignal 设置无 Access-Control-Allow-Origin

转载 作者:行者123 更新时间:2023-11-30 11:35:40 24 4
gpt4 key购买 nike

我正在使用OneSignal用于客户端网站的网络推送消息传递。我已经关注了HTTPS setup 。我检查了几次,确保一切都正确完成。

  • 所有文件均已上传到域的根目录
  • 我已经设置了 list 并将所需的初始化代码放入页面标题中

当我加载页面时,我得到:

Fetch API cannot load https://onesignal.com/api/v1players. 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'https://example.com' is therefore not allowed access.
The response had HTTP status code 404. If an opaque response serves your needs,
set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

我直接联系了团队,但他们只是复制粘贴了部分文档。没有提供进一步的帮助。

使用 Chrome 版本 58/Windows 10

我做错了什么?

最佳答案

https://onesignal.com/api/v1players 响应显然不包含 Access-Control-Allow-Origin 响应 header ,因为它们不包含,您的浏览器会阻止您的前端 JavaScript 代码访问响应。

您无法对自己的前端 JavaScript 代码或后端配置设置进行任何更改,从而使您的前端 JavaScript 代码能够按照您尝试直接向 https://onesignal.com/发出请求的方式进行请求api/v1players 并成功获取响应。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS更详细地解释了,但其要点是,对于 CORS,发送请求的服务器必须配置为发送 Access-Control-Allow-Origin 响应 header 。

无论如何https://documentation.onesignal.com/docs/web-push-sdk-setup-https有官方文档解释了他们支持的 SDK,这显然需要你做更多类似这样的事情:

<head>
<link rel="manifest" href="/manifest.json">
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = window.OneSignal || [];
OneSignal.push(["init", {
appId: "YOUR_APP_ID",
autoRegister: false,
notifyButton: {
enable: true /* Set to false to hide */
}
}]);
</script>
</head>

关于javascript - 使用 OneSignal 设置无 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44532182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com