reactjs - 如何将数据传递给 Fauna Create 函数
问题描述
我正在构建一个 Next 站点,并决定使用 Fauna 作为我的数据库。在前端,我将一个对象传递给我的后端 API,如下所示:
async function onSubmit(values) {
try {
const data = await postData("/api/put", values);
} catch (error) {
console.error(error);
}
async function postData(url = "", data = {}) {
const response = await fetch(url, {
method: "POST",
mode: "cors",
cache: "no-cache",
credentials: "same-origin",
headers: {
"Content-Type": "application/json"
},
redirect: "follow",
referrer: "no-referrer",
body: JSON.stringify(data)
});
return await response.json(); // parses JSON response into native JavaScript object
}
}
我的后端如下所示:
const faunadb = require("faunadb");
// your secret hash
//! -- Replace with secret for prod.
const secret = "Key...";
const q = faunadb.query;
const client = new faunadb.Client({ secret });
module.exports = async (req, res) => {
const data = JSON.stringify(req.body, null, 2);
console.log(data);
return client
.query(
q.Create(q.Collection("pages"), {
data: {
name: data.name,
email: data.email,
title: data.title,
body: data.body
}
})
)
.then(ret => console.log(ret))
.catch(err => console.log("error", err));
};
似乎在退货中,data
无法识别,并且送回 Fauna 收藏的项目是空的。有人可以告诉我我做错了什么吗?
Fauna Docs没有显示带有变量的示例。
解决方案
我将代码更改为以下内容:
module.exports = async (req, res) => {
console.log(req.body.name);
const bodyData = JSON.stringify(req.body, null, 2);
// console.log(bodyData);
return client
.query(
q.Create(q.Collection("pages"), {
data: {
name: req.body.name,
email: req.body.email,
title: req.body.title,
body: req.body.body
}
})
)
.then(ret => console.log(ret))
.catch(err => console.log("error", err));
};
现在效果很好!
推荐阅读
- mysql - 在 Laravel Eloquent 中使用 MySQL PASSWORD()
- c - C:文件存在但打不开。数字母?
- python - pygame定义不同的位置顺序产生不同的结果
- node.js - Discord.js - 如何使用随机成员向指定数量的参数发送消息?
- r - 按组的操作在一个函数内的函数和跨多个列的选项
- javascript - 使用 Jest 测试 Nuxt + Vuex + Vuetify 的设置
- object - 获取一个通用对象的两个对象
- visual-studio-code - VSCode - 自定义反应片段在 javascriptreact.json 文件和 javascript.json 文件中不起作用
- javascript - Firebase Analytics JS SDK:无法以“items”作为参数记录事件
- user-interface - 如何在 Flutter 中的网格视图末尾添加一个容器?