Tag: 表示

我有一个错误nodejs 0.10.2 + express 3.x + socket.io 0.9.11

nodejs:v0.10.2和express 3.x和socket.io 0.9.11 我只是尝试socket.io示例代码像lelow。 http.js708抛出新错误(发送后无法设置标题) http://socket.io/#how-to-use 服务器端 var app = require('http')。createServer(handler) ,io = require('socket.io')。listen(app) ,fs = require('fs') app.listen(80); 函数处理程序(req,res){ fs.readFile(__ dirname +'/index.html', 函数(err,data){ 如果(err){ res.writeHead(500); 返回res.end('加载index.html时出错'); } res.writeHead(200); res.end(数据); }); } io.sockets.on('连接',函数(套接字){ socket.emit('news',{hello:'world'}); socket.on('我的其他事件',函数(数据){ 的console.log(数据); }); }); 客户端 – index.html var socket = io.connect('http:// localhost'); socket.on('news',function(data){ 的console.log(数据); socket.emit('my other event',{my:'data'}); }); 比我有一个像图片上的错误信息。

表示没有find它期望的redis结果

我跟着一个快速演示,你用redis存储值,然后检索它们。 当我尝试将代码适配到我设置的快速应用程序时,我无法获得预期的结果。 主要是,当我尝试获取req.online的长度,我得到一个错误,因为它有一个空值。 用下面的代码,我期望req.online.length有一些价值,而不是总是null ,从而引发错误。 这个贴的代码工作( req.online.length将等于2): http : req.online.length 此粘贴中的代码不起作用( req.online.length为空,尝试检查长度时发生错误): http : req.online.length 当我通过redis cli检查使用: ZREVRANGEBYSCORE online +inf -inf 我可以看到按预期存储的各种用户代理值。 我需要做什么才能从redis获得这个值并使用它?

努力得到callback工作express.js

在呈现页面之前试图确定请求已经完成 应用程序概述 – 提交代码,发出请求,填充结果页面 //Index.js var response = require('./requestMapping') // home search page exports.index = function(req, res){ res.render('index', { stationDisplay: response.station_id, test: 'rob' }); }; **//post from form to call METAR service exports.post =('/', function(req, res, next) { response.getMETAR(req.body.query,function(){ res.render('results', { stationDisplay: response.station_id, test: 'rob' }); }); })** //Index.ejs <!DOCTYPE html> <html> <head> <title><%= stationDisplay […]

如何创build会话express.js

我运行本地主机:3000 /名称/约翰,创build一个cookie,然后本地主机:3000 /名称显示cookie我有一个控制台错误“TypeError:无法读取未定义的属性'名称' 看我的代码 var express = require('express') , http = require('http') , path = require('path') ; var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.use(express.bodyParser()) ; app.use(express.methodOverride()) ; app.use(app.router); app.use(express.cookieParser()); app.use(express.session({ secret: 'secret'})); }) ; app.get('/name/:name', function(req, res){ res.cookie('name' , req.params.name).send('<p>the cookie <a href="/name">Go here</a></p>') ; }); app.get('/name', function(req, res){ console.log(req.cookies.name); res.send("index"); }); […]

Express用户没有定义

嗨,我一直在通过这个教程,并遇到了一个问题。 在我的edit.jade文件中,我有这个 – form(method="POST", action="/users/") input(type="hidden", name="_method", value="PUT") p Name: input#name(type="text", name="name", value="#{user.name}") p Email: input#email(type="email", name="email", value="#{user.email}") p Age: input#age(type="number", name="age", value="#{user.age}") p: button(type="submit") Update 我用这个代码调用视图 – app.param('name', function (req, res, next, name){ Users.find({ name: name }, function (err, docs) { req.user = docs[0]; next(); }); }); app.get('/users/:name/edit', function (req, res){ res.render("users/edit", { user: […]

将更新的数据广播到通过socket.io连接到nodejs服务器的所有客户端

我有一个应用程序,我正在写,需要能够更新所有连接的客户端,每当客户端通过ajax请求连接到本地套接字服务器,并更新系统。 处理请求是好的,但发送来自本地套接字服务器的响应到socket.io广播给大家是我有一个问题。 我确定这是简单的,我在这里看,但是这对我来说是非常新的,所以我有问题,特别是与asynchronous编程的思维方式。 下面是我正在努力完成的一个简短的版本,以及我在哪里徘徊。 var express = require('express'), http = require('http'), net = require('net'), app = express(), server = http.createServer(app), io = require('socket.io').listen(server); app.get("/execute", function (req, res) { // connect to local socket server var localSock = net.createConnection("10000","127.0.0.1"); localSock.setEncoding('utf8'); localSock.on('data', function(data) { // send returned results from local socket server to all clients do stuff […]

使用streamlinejs和nodejsexpression框架

我是“nodejs”世界的新手。所以想要探索各种技术,涉及的框架,我正在build立一个简单的用户职位系统(用户张贴其他人看到post)由redis支持。但是我有一些困难,从redis服务器获取数据,我需要从redis服务器执行3个查询来显示posts.在这种情况下,每次redis调用后都必须使用nestedcallback。所以我想用stream线.js来简化callback。但是即使在我使用npm install streamline -g和require('streamline').register();后,我也无法使它工作require('streamline').register(); 打电话之前 var keys=['comments','timestamp','id']; var posts=[]; for(var key in keys){ var post=client.sort("posts",'by','nosort',"get","POST:*->"+keys[key],_); posts.push(post); } 我得到了错误ReferenceError:_没有定义 。 请指向正确的方向或指向我可能错过的任何资源。

dynamic翡翠包括

我有这个代码: show.jade: foreach promo in promotions include _promotion _promotion.jade: img.thumb(src="#") 我试图用promo.image_urldynamic地设置img标签的src,我似乎无法弄清楚语法。 我试过了所有我能想到的组合,没有运气。 这,具体而言,不起作用: img.thumb(src=promo.image_url) 我知道这适用于简单的标签: p= promo.image_url 但我不知道如何正确地获得=标志到IMG SRC。

redirect在ExpressJS中不起作用

我正在尝试重新注册成功。 我把这个基本代码敲在一起来testing这个原则: app.post('/register', function(req, res, next) { User.findOne({ username: req.body.username }, function (err, user) { if (err) { return done(err); } if (user) { res.send(400); } else { var newUser = new User({ username: req.body.username, password: passwordHash.generate(req.body.password)}); newUser.save(); req.logIn(newUser, function(err) { if (err) return next(err); return res.redirect('/my-events'); }) } }); }); 但是,当这个触发器,我的浏览器看到一个302,其次是一个成功的/我的事件端点提供的页面,但没有redirect。 怎么了? 使用res.redirect在浏览器加载一个端点的时候工作,它似乎并不是$ .post的结果。

Node / Express JS身份validation:除了Passport JS以外还有其他什么?

我通常使用Javascript(JQuery)客户端制作网站,并使用PHP + MySQL服务器端进行用户authentication,在线订购系统等。 我一直在学习node / express,socket.io,mongoDB / mongoose和护照几个月,并且正在考虑用它们来替代PHP + MySQL服务器端,让我的网站更实时/互动。 我的网站的用户是技术精明的,所以浏览器的兼容性不是一个问题。 Passport是节点/快递的唯一生产级本地authentication系统吗? (通过mongoDB在本地存储在我的服务器上的用户名/密码)