无法使用MongoDB和Node.js登录
Could not login using MongoDB and Node.js
我无法使用MongoDB和node .js登录用户,它没有抛出任何错误,但登录后无法提供用户想要的任何数据。我在下面解释我的代码。
server.js
var port=8888;
var express=require('express');
var morgan = require('morgan');
var http=require('http');
var bodyParser= require('body-parser');
var methodOverride = require('method-override');
var mongo = require('mongojs');
var database='Oditek';
var collections=['video'];
var app= express();
var server=http.createServer(app);
var io=require('socket.io')(server);
var db = mongo("127.0.0.1:27017/"+database, collections);
app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users
app.use(morgan('dev')); // log every request to the console
app.use(bodyParser.urlencoded({ extended: false })) // parse application/x-www-form-urlencoded
app.use(bodyParser.json()) // parse application/json
app.use(methodOverride()); // simulate DELETE and PUT
app.get('/',function(req,res){
res.sendfile('view/login.html');
});
app.post('/login',function(req,res){
var username=req.body.username;
var password=req.body.userpassword;
if(username && password){
db.video.findOne({
username:username,
password:password
},function(err,doc){
console.log('login',doc);
if(doc){
res.send(doc);
}
if(err){
console.log('login',err);
res.send("could not login");
}
});
}
});
app.get('/video',function(req,res){
res.sendfile('view/video.html');
});
server.listen(port);
console.log('server is listening on the port'+port);
login.js:
function login(){
var uName=$('#uname').val();
var uPass=$('#upass').val();
var data={username:uName,userpassword:uPass};
$.ajax({
type: 'POST',
url:"/login",
data:data,
success: function(data){
console.log(data);
location.href="http://localhost:8888/video?usertype='+data.type+' & id= '+data.id+' ";
}
});
}
Package.json:
{
"name": "oditek",
"main": "server.js",
"dependencies": {
"express": "~4.0.0",
"morgan": "~1.0.0",
"body-parser": "~1.0.0",
"method-override": "~1.0.0",
"socket.io":"1.3.5",
"mongojs": "1.2.1"
}
}
服务器端app.post
方法的控制台部分根本没有执行。请帮我解决这个错误
我已经测试了你的代码和它的工作对我来说很好,从视频收集返回用户记录。请检查mongodb是否正在运行,您也可以通过添加这些行来查看。
db.runCommand({ping: 1}, function (err, res) { if(!err && res.ok) console.log('we''re up')});
我已经测试了你的代码,并返回我很好,试着改变这个:
app.use(bodyParser.urlencoded({ extended: true})); // parse application/x-www-form-urlencoded
app.use(bodyParser.json());
请检查日志,摩根正在写日志,而不是当你点击url,请先检查邮差(chrome插件)来测试你的api。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值