【发布时间】:2022-04-17 16:15:22
【问题描述】:
所以我开始着手处理 cloudflare 页面和工作人员
我的想法是
- 获得域名
mydomain.com(完成) - 制作静态站点@github
myaccount.github.io(完成) - 制作一个 cloudflare 页面页面,将 CNAME 添加到 DNS ZONE(完成),因此
myaccount.github.io可以是 @my-official-site.com(完成) - 制作一个 cloudflare worker
https://myworker.myclaccount.workers.dev(完成)
所以当我请求my-official-site.com 时,我得到myaccount.github.io 的内容
现在我想从我的myaccount.github.io 工作人员那里运行以获取一些 html 或 json 或....
- 我试图从我的
myaccount.github.io(index.html) 获取
<script>
fetch('https://myworker.myclaccount.workers.dev')
.then(response => response.json())
.then(data => console.log(data));
</script>
- 我收到这样的请求给我的工人
const html =
"<p>This markup was generated by a Cloudflare Worker.</p>"
async function handleRequest(request) {
return new Response(html, {
headers: {
"content-type": "text/html;charset=UTF-8",
},
})
}
addEventListener("fetch", event => {
return event.respondWith(handleRequest(event.request))
})
问题是
Access to fetch at 'https://myworker.myclaccount.workers.dev/'
from origin 'my-official-site.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我创建了一个
_headers.txt (https://developers.cloudflare.com/pages/platform/headers) 位于我的 github“站点”的根目录中
/*
Access-Control-Allow-Origin: *
但同样...
我是无服务器和 jamstack 的新手(我现在是 js、css、html),但对这个概念很陌生
知识(android、c#、php、wp、unity、一些node.js)
感谢您的帮助。
【问题讨论】:
标签: cors cloudflare cloudflare-workers jamstack cloudflare-pages