javascript - 如何使用 Cloudflare Worker 的缓存 API 呈现 HTML 字符串?
问题描述
缓存 API 在我下面的示例中完美运行:
addEventListener('fetch', function(event) {
event.respondWith(handleRequest(event))
})
async function handleRequest(event) {
const { request } = event
const cacheUrl = new URL(request.url)
const cacheKey = new Request(cacheUrl.toString(), request)
const cache = caches.default
let response = null
response = await cache.match(cacheKey)
if (!response) {
const { searchParams } = cacheUrl
let pageId = searchParams.get('pageId')
response = await fetch(myURL)
event.waitUntil(cache.put(cacheKey, response.clone()))
response = new Response(response.body, response)
response.headers.append('Cache-Control', 's-maxage=10000')
event.waitUntil(cache.put(cacheKey, response.clone()))
}
return response
}
我得到这样的回应:
{
data: "
<html>
<body>
<div>Hello Everyone!</div>
</body>
</html>
"
}
但我想从上面的对象渲染 HTML 字符串,所以我像这样更改我的代码:
// return response;
return new Response(response.data, {
headers: {
'content-type': 'text/html;charset=UTF-8',
},
})
然后我得到一个空页面,正文标签中没有任何内容。
有人能帮我吗?
解决方案
推荐阅读
- android - RecyclerView :项目位置意图
- node.js - 将示例代码与 Promise、await 和 await 同步
- mariadb - Liquibase generateChangeLog 成功但更改日志为空?
- python - argparse:取决于另一个参数的值的参数名称?
- java - 如何在 XWPFDocument (apache poi) 中设置编号的字体和字体大小?
- java - 列表
如何获得具体的索引? - bash - bash脚本ssh到服务器然后运行命令
- string - Python:通过分隔符拆分字符串并写入excel文件中的列
- java - JavaFx:Bindings.when().then().otherwise() 中的 NPE
- python - 绘制具有不连续间隔的时间序列