【发布时间】:2017-12-26 07:37:11
【问题描述】:
我正在尝试实现我的这个小登录系统,并且我有一个表单可以向我的 webpack 开发服务器发送一个发布请求,而后者又将请求代理到我的服务器。
这是处理表单提交并向服务器发送 POST 请求的函数。
handleSubmit = (e) => {
e.preventDefault();
this.props.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values);
fetch('/login', {
method: 'POST',
body: values
});
}
});
}
当我单击登录时,我确实会在控制台中记录我的值,如下所示 http://prntscr.com/hsbpyp
这是处理登录端点的服务器端代码
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/login', (req, res) => {
console.log('Got user information: \n', req.body);
res.send('asd');
})
app.use('/graphql', bodyParser.json(), graphqlExpress({ schema }));
app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
app.listen(3001, () => {
console.log(`
=====
Server running at http://localhost:3001/
GraphiQL running at http://localhost:3001/graphiql/
=====
`)
})
如您所见,我确实使用 body-parser 中间件来解析 req.body 但是当我尝试记录正文时,我得到一个空对象 http://prntscr.com/hsbqrd
有人可以帮我弄清楚我的代码发生了什么吗?
【问题讨论】:
-
您是否在浏览器中检查了请求负载?
-
是的,我确实在问题中为您提供了截图
-
不是那个..在您的请求中。您的发送..chrome 网络?
-
@zabusa 是的,它确实包含有效负载,检查一下prntscr.com/hsbxh4
-
尝试使请求 url 编码而不是 form-data
标签: javascript node.js express body-parser