我试图通过从我的客户端前端获取的帖子传递一个 json 对象。
我已经有一个提取工作,它返回一个已经存储的对象列表,并尝试了相同的过程,但传递了一个 JSON 参数,尽管有相同的标头,但它不会工作。
我看过这篇文章,它似乎与我有类似的问题,但在尝试将上述修复应用于我的问题后,同样的问题发生了。 如何正确配置我的 Cloudflare Worker 以将我发送的对象保存在 Cloudflare 的 KV(存储)中?
这是我的前端
async function postJSON(data) {
console.log("Data: " + data);
try {
const response = await fetch("https://cas-4d0.pages.dev/putDataPoint", {
method: "POST", // or 'PUT'
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET,HEAD,POST,OPTIONS",
"Access-Control-Max-Age": "86400",
"Content-Type": "application/json",
},
body: JSON.stringify(data),
});
const result = await response.json();
console.log("Success:", result);
} catch (error) {
console.error("Error:", error);
}
}
这是我的后端
export async function onRequest(context) {
let kList = (await context.env.dataPoints.list()).keys;
let numberInList = kList.length;
console.log(await context);
let res = await context.env.dataPoints.put(numberInList, body);
const corsHeaders = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET,HEAD,POST,OPTIONS",
"Access-Control-Max-Age": "86400",
};
return new Response((res), { headers: corsHeaders });
//return new Response(JSON.stringify(context.env), { headers: corsHeaders });
}
在检查 cloudflare 上的日志流时,会弹出此错误,提示主体未定义。 我知道 json 对象正在传递给 post 函数,因为它可以在控制台上输出。
任何帮助将不胜感激。