gpt4 book ai didi

SvelteKit req.body undefined

转载 作者:行者123 更新时间:2023-12-04 17:18:43 27 4
gpt4 key购买 nike

我正在尝试设置 SvelteKit 以将其与我的 CMS 一起使用。

我在 api/query.js 中从我的 CMS 获取数据,在 index.svelte 中从 api/query 获取数据.

效果很好,我可以获得全部数据,但如果我在获取请求中包含正文,则会收到错误消息“无法读取未定义的‘split’属性”。代码:

// api/query.js
export async function post(req) {
const url = API_URL;
const auth = Buffer.from(`${API_USER_EMAIL}:${API_USER_PASSWORD}`).toString('base64');

const res = await fetch(url, {
method: 'POST',
headers: {
'Authorization': `Basic ${auth}`,
},
body: JSON.stringify(req.body),
});
const data = await res.json();

return {
status: data.code,
body: data
}
}
// index.svelte
export async function load({ fetch }) {
const res = await fetch('/api/query', {
method: 'POST',
// body: JSON.stringify({
// query: 'site.title',
// }),
});
const data = await res.json();

return {
status: data.status || 200,
props: data
}
}

被注释掉的代码部分是导致错误的部分。如果我在 api/query.jsconsole.log(req.body) 它返回 undefined

有什么方法可以使用 Express.js 正文解析器吗?或者有没有其他方法可以解决此错误?

最佳答案

为两条路由设置 content-type header 。

还要确保所有 header 键都是小写的。

例子:

...
headers: {
'authorization': `Basic ${auth}`,
'content-type': 'application/json'
},
...

关于SvelteKit req.body undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67559597/

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