【发布时间】:2018-05-11 10:33:57
【问题描述】:
我在前端使用 React 并在服务器上使用 expressJs。我有一些 javascript Object 数据要发送到服务器。我JSON.stringify 数据,然后将其存储在表单中的<textarea/> 中,然后我将其发布。
我使用模块 'body-parser' 进行一般 api 调用,并使用模块 'multer' 进行这个多部分表单提交。
前端代码:
<div>
<form action="/api/query" method="POST">
{/* following textarea value looks like this:
{"collection":"Contract","fieldSets":[{"field":"location","value":"London","andOr":""}],"responseType":"csv"} */}
<textarea defaultValue={JSON.stringify({ collection, fieldSets, responseType: 'csv' })} />
<Button type="submit">Download</Button>
</form>
</div>
后端代码:
const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const upload = multer();
const app = express();
app.set('port', 1111);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// for parsing multipart/form-data
app.use(upload.array());
app.use(express.static('public'));
app.post('/query', (req, res) => {
// here I keep getting reqbody as an empty {}
console.log('reqbody is...', req.body);
但是,我在服务器上的req.body 中不断收到{}。
澄清一下,/api/query 确实有效,因为我能够从 url 中获取 fetch 数据并在前端显示。它的表单提交帖子不起作用。
谢谢
【问题讨论】:
标签: javascript forms reactjs express multipartform-data