mysql -usupport -h127.0.0.1 --port=13306 -p
控制台显示未定义的值而不是输入数据
控制台显示未定义的值而不是输入数据
我想从html文件中获取数据并使用get方法插入到mongo数据库中。但我无法从文本框中获取数据。
var userID = req.userid;
var pwd = req.pwd;
console.log("userid = " + userID + "pass = " + pwd);
const express = require('express');
const path = require('path');
const bodyparser = require("body-parser");
const mongoose = require('mongoose');
const app = express();
app.use(bodyparser());
app.use(bodyparser.urlencoded({
extended: false
}));
app.use(bodyparser.json());
app.set('port', (process.env.PORT || 1000));
mongoose.connect('mongodb://localhost/TrackDB');
var Schema = new mongoose.Schema({
username: String
, pass: String
});
var users = mongoose.model('users', Schema);
app.get("/register", function (req, res) {
var userID = req.userid;
var pwd = req.pwd;
console.log("userid = " + userID + "pass = " + pwd);
new users({
username: userID
, pass: pwd
}).save(function (err, doc) {
if (err) {
res.json(err);
}
else res.send("Successfully Registerd!");
});
console.log("users = " + users);
});
app.get("/", (req, res) => {
res.sendFile(path.join(__dirname, './public/index.html'));
});
app.listen(1000, () => {
console.log("Server Start......");
});
答案 0 :(得分:0)
您必须在document.cookie = "key=value; key2=value2;"
中使用app.post
方法。
并使用method = post。
node.js
向节点发送数据使用post,delete,put方法。但是,如果您希望从节点获取数据,可以使用 <form action="/register" method="post">
<div id="register">
<input type="text" name="userid" id="txt_userid" placeholder="Enter user id">
<br>
<input type="password" name="pwd" id="txt_pass" placeholder="Enter password">
<br>
<br>
<button type="submit" id="btn_register">Register</button>
</div>
</form>
方法。
我建议尝试打印req(即.get()
)。可能数据存储在req.body中。
答案 1 :(得分:0)
您需要使用POST
请求,并且数据胜出;可以在req
对象中使用。相反,它将在req.body
尝试:
var userID = req.body.userid;
var pwd = req.body.pwd;
console.log("userid = " + userID + "pass = " + pwd);
答案 2 :(得分:0)
试试此代码
var userID =req.query.userid;
var pwd = req.query.pwd