【发布时间】:2019-06-14 06:57:53
【问题描述】:
我在我的 Gatsby (gatsbyjs.org) 网站上为 cmets 使用 Staticman (staticman.net)。
我一直在使用带有 method="POST" 和 action="https://api.staticman.net/..." 参数的经典 HTML 表单,因为这是 Staticman 所期望的 (docs)。
但我想让它更“反应”,我已将表单操作更改为 handleSumbit() 函数:
handleSubmit(event) {
event.preventDefault()
fetch("https://api.staticman.net/...", {
method: "POST",
body: event.target,
})
}
我觉得这不起作用,因为 API 需要 HTTP POST request,内容类型为 application/x-www-form-urlencoded,而我的 event.target 是一个包含大量 React 信息的表单。
如何使我的fetch() 请求看起来与提交的 HTTP POST 表单完全一样?
【问题讨论】:
-
Staticman 的维护者建议用户在github.com/eduardoboucas/staticman/issues/… 启动他/她自己的API 实例。
标签: reactjs post fetch-api gatsby