Tob*_*ing 5 javascript fetch node.js svelte sapper
我正在尝试使用 sapper 创建登录表单,但在尝试测试基本 POST 获取时遇到以下问题。
在 中routes/login/login.svelte,我有以下代码,在单击按钮时调用:
<script>
let data = {"email":"test"};
const handleLogin = async () => {
const response = await fetch("/login/login", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: data
});
};
</script>
Run Code Online (Sandbox Code Playgroud)
这应该送什么是data对routes/login/login.js其中具有下面的代码:
export async function post(req, res, next) {
res.setHeader('Content-Type', 'application/json');
var data = req.body;
return res.end(JSON.stringify(data));
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这仅返回{}而不是在苗条页面中发送的数据。关于为什么会发生这种情况以及我哪里出错的任何想法?谢谢。
发送数据时,您还应该在那里将其字符串化
body: JSON.stringify(data)
Run Code Online (Sandbox Code Playgroud)
另外,请确保您已安装body-parser并将其作为中间件添加到服务器中,此包将帮助您处理在正文中发送 json 数据的请求。
polka() // You can also use Express
.use(
compression({ threshold: 0 }),
sirv('static', { dev }),
bodyparser(),
sapper.middleware()
)
.listen(PORT, err => {
if (err) console.log('error', err);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |