我已经使用Nodejs创建了一个小型快递服务器,目前可以处理一个发布请求-检查用户是否存在。
我需要合并一个额外的帖子请求,这将允许我注册一个新用户。注册请求来自单独的HTML页面,其中包含标准注册表格。
鉴于我看到的帖子标题示例都是相同的:
app.post('/', function (req, res)
如何区分请求?
我的代码:
var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: '12345678',
database: 'project_eclipse',
port: 3306
});
connection.connect(function (err) {
if (!err) {
console.log("Database is connected ... \n\n");
} else {
console.log("Error connecting database ... \n\n");
}
});
var app = express();
// instruct the app to use the `bodyParser()` middleware for all routes
app.use(bodyParser());
app.use(express.static(__dirname + '/public'));
app.post('/', function (request, response) {
console.log('searching for user: ', request.body.usr);
//console.log(request.body.pass);
var usr = request.body.usr;
var pass = request.body.pass;
connection.query('SELECT * FROM eclipse_users WHERE username=? AND password = md5(?)', [usr, pass], function (err, rows, fields) {
if (!err) {
//console.log('The solution is: ', rows);
var n_rows = rows.length;
console.log('number of rows returned: ', n_rows);
if (n_rows == 1) response.json({
msg: 'user exists'
});
else response.json({
msg: 'user does not exist'
});
} else {
console.log('Error while performing Query.');
connection.end();
}
});
});
app.listen(80, "127.0.0.1");
console.log('Server running at http://127.0.0.1:80/');
一种方法是:
app.post('/:register', function(request, response){
console.log('registering user: ',request.body.usr);
}
并在发帖时传递注册标志。
但是,如果使用app.get,则检查用户有效性的代码会更好:
app.get('/', function(...)) {...}
这样,您可以拥有一个app.post,而没有注册部分的register变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句