【发布时间】:2015-04-17 01:31:39
【问题描述】:
当我尝试将 post 函数用于 express rest API 时,我不断收到这样的错误。
events.js:85
throw er; // Unhandled 'error' event
^
error: column "newuser" does not exist
at Connection.parseE (/Users/Chris/project/opshun/api/node_modules/pg/lib/connection.js:561:11)
at Connection.parseMessage (/Users/Chris/project/opshun/api/node_modules/pg/lib/connection.js:390:17)
at null.<anonymous> (/Users/Chris/project/opshun/api/node_modules/pg/lib/connection.js:92:20)
at TLSSocket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at TLSSocket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:529:20)
相关代码在这里:
app.get('/form', function(req, res) {
fs.readFile('./sign_up.html', function(error, content) {
if (error) {
res.writeHead(500);
res.end();
}
else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(content, 'utf-8');
}
});
});
app.post('/signup', function(req, res) {
var newuser = req.body.newuser;
var newpass = req.body.newpass;
pg.connect(connString, function(err, client, done) {
client.query("INSERT INTO users(username, password)
values(newuser, newpass)");
}
}
HTML 文件如下所示:
<form action="/signup" method="post">
<div>
<label>Username:</label>
<input type="text" name="newuser"/><br/>
</div>
<div>
<label>Password:</label>
<input type="password" name="newpass"/>
</div>
<div><input type="submit" value="Sign Up"/></div>
</form>
【问题讨论】:
-
client.query("INSERT INTO users(username, password) values(newuser, newpass)");---请解释你认为这条线应该如何工作。在解释username和newuser是什么以及它们有何不同时要非常小心。
标签: javascript html node.js api express