我正在尝试使用socket.io和node.js来创建应用程序。这是一个简单的“登录”应用程序,但它似乎并没有工作,每当我启动应用程序时,在该Chromeress的Chrome开发者控制台上弹出404未找到消息:http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1469215104245-2socket.io和node.js不能正常工作
在我的索引中。 HJS文件
<div class="input-group">
<span class="input-group-addon" id="basic-addon1"></span>
<input type="text" class="form-control username" placeholder="Username" aria-describedby="basic-addon1">
</div>
<div class="input-group">
<span class="input-group-addon" id="basic-addon1"></span>
<input type="text" class="form-control password" placeholder="Password" aria-describedby="basic-addon1">
</div>
<button type="button" class="btn btn-primary">Primary</button>
<h2></h2>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script type="text/javascript">
var socket = io();
$('.btn-primary').click(function(){
var data = {username: $('.username').val(), password: $('.password').val()};
socket.emit('log-in',data);
socket.on('log-in success', function(){
$('h2').append('success')
});
socket.on('log-in fail', function(){
$('h2').append('fail')
});
});
</script>
我的节点JS服务器上
(有更多的代码存在,但这些都是rlevant位):
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/userDB');
var userSchema = mongoose.Schema({
name: String,
password: String
});
var User = mongoose.model('User', userSchema);
io.on('log-in',function(data){
User.findOne({ 'username': data.username, 'password': data.password}, function (err, person) {
if (err) {io.emit('log-in fail')
return handleError(err)};
if (!person) io.emit('log-in success');
})
});
每当我试图登录的用户预制只是不明白任何回应。 任何帮助将不胜感激。