我正在尝试使用node.js,express和bodyParser来响应来自用户的输入,这是在表单中输入的。当我console.log(req.body)
时,它会打印{}
。如果网址中没有数据,那就有意义了。表单正确提交http://localhost:3000/stmd?symbol=FB
。我尝试了JSON.parse(req)
并从那里手动获取我需要的东西,但似乎因为键不是字符串,所以它无法正确解析它。我想知道的是在调用symbol = FB
时如何获得app.get('/stmd' ...
。我根本没有开始使用bodyParser,它似乎是最简单的方法。
const https = require('https');
const buffer = require('buffer');
const bodyParser= require('body-parser');
const express = require("express")
let app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.listen(3000, () => {
console.log("listening on 3000");
});
app.get('/', (req, res) => {
console.log('connected');
res.sendFile(__dirname + '/index.html')
})
app.get('/stmd', (req, res) => {
console.log(req.body)
//res.redirect('/')
})
这是html表单
<form id="usrInput" action="/stmd" method="get">
<input type="text" name="symbol" placeholder="Symbol of Stock. Eg: FB for facebook">
<button type="submit">Submit</button>
</form>`
答案 0 :(得分:0)
只有POST请求将表单数据作为请求正文发送。使用GET请求,您不需要正文解析器,只需使用请求的query属性:
app.get('/stmd', (req, res) => {
console.log(req.query)
//res.redirect('/')
})