我已经开始nodejs
在其中制作一个简单的聊天应用程序。为此,我想访问mysql database
.
我的代码是这样的:
JS
exports.authenticate = function(req, res) {
//connection.connect();
var sql="SELECT * from users where username='"+req.body.user+"' and password='"+req.body.pass+"' LIMIT 1";
connection.query(sql, function(err, rows, fields) {
if (err) throw err;
//res.send('Your data is: ', rows);
var str="Hi, <b>"+rows[0].name+"</b> ("+rows[0].email+")";
sql="SELECT DISTINCT username,name from users ORDER BY name";
connection.query(sql, function(err, datarows, fields) {
if (err) throw err;
//res.send('Your data is: ', rows+' <br/> All Users are : ', datarows.length+"<a href='/'>Login</a>");
str+='<ul style="list-style:none;width:300px">';
for(var index=0;index<datarows.length;index++)
{
str+="<li><a href='javascript:;'>"+datarows[index].name+", "+datarows[index].email+"</a></li>";
}
str+='</ul>';console.log(str);
console.log(str)//gives ul
});
str+="<a href='/'>Login</a>";
res.send(str);//this not gives the ul of other users
});
}
上面的代码有问题,我写console.log(str)//gives ul
的这个打印整个字符串就像Hi, <b>Rohan</b> ("rohan@xyz.com")<ul><li><a>Something</a></li>....</ul>
. 但res.send(str);
只发Hi, <b>Rohan</b> ("rohan@xyz.com")<a href='/'>Login</a>
。
- 为什么会这样?
- 我的
str variable
不是global
吗? - 我可以
res.send()
多次使用,如果可以,那么如何使用?
我可以使用上面的代码,jade
然后我应该为此编写什么代码。
我找到了这个答案How to pass data form mongodb (using Mongous module) into nodejs view (using temp engine jam)? 与我的问题有关
app.get('/', function(req, res) {
mgs(dbColl).find(function(data){
res.render('yourview.jade', { data: data });
});
});
那么,如何访问中的数据yourview.jade
我也想知道我们应该为哪种类型的应用程序使用 nodejs ?
预先感谢。