Tag: 表示

express.js中的路由器基于参数

我有express.js声明这些路由器,我想知道为什么run user触发当我打开本地主机:3000 / myname /configuration文件。 router.get('/:username', function(req, res, next) { console.log('run user') }); router.get('/:username/profile', function(req, res, next) { console.log('run user profile') }); 我希望它不会,如何解决? 请任何人帮助我? 先谢谢你….

请求的实体太大

我的快速应用程序正在返回“请求实体太大”的file upload只有一个125kb的PNG文件。 我configuration了正文parsing器中间件,如下所示: app.use(bodyParser.urlencoded({ limit: '5mb', type:'*/x-www-form-urlencoded', extended: true })); 根据文件 。 无论我设定了多高的限度,还是多种选项的组合,我总能得到相同的结果。 我正在使用Express 4.13.3和body-parser 1.15.2。 我究竟做错了什么?

通过nodejs和express来redirect到自定义url

我有一个redirect的问题。 我有一个小的nodejs / express应用程序,应该在提交表单后redirect到具有表单input值的外部URL。 的index.html <form method="POST" action="https://192.0.2.1/abc.html"> <input name="name"/> <input name="email"/> <button type="submit"> </form> 只有https://192.0.2.1/abc.html没有input值。 请帮忙。

如何从angularjs访问variablesexpression式

第一 exports.render = function(req,res){ res.render('index', { title: 'welcome', username : req.user ? req.user :'' }); }; 我想导出要使用的对象 req.user h2 Hello #{username.username} h2 Hello #{username} 在翡翠我可以使用它 div(ng-app='IndexController') {{ #{username} | getUserData }} 但是如果我想要得到它的angular度,它不能使用 mainAppModule.filter('getUserData', function () { return function (name) { if (name) console.log(name.username + "xxxxxxxxxxxxxxxxxxxxxxxxqqqqqqqqqq"); return 'Hellox, '; }; }); 我该怎么做? 如何获得req.user以供req.user使用。如果有其他方法可以让angular色使用对象请告诉我。 非常感谢。

如何configuration多个会话的快递和护照

我需要实现一个HTTP服务器,支持与护照分开的会话处理。 原因是我需要身份validation2个实体:我的客户(客户)和他们的客户(用户),我的想法是使用自己的安全“空间”:自己的会话中间件,不同的会话属性,自己的通行证实例。 它工作正常,如果我只是使用会话存储的帐户,但不是这个代码的用户: const express = require('express') const session = require('express-session') const Passport = require('passport').Passport const userPassport = new Passport() const accountPassport = new Passport() // add passport strategies const app = express() app.use(session({ secret: config.session.secret, //store: accountSessionStore, resave: true, saveUninitialized: true, })) app.use(accountPassport.initialize({ userProperty: 'account' })) app.use(accountPassport.session()) app.use(userPassport.initialize({ userProperty: 'user' })) 一旦我添加这行app.use(userPassport.session())在最后它打破了:账户的loginstream不再工作。 看来,快递会话中间件不能处理多个护照实例,最后一次调用覆盖实例。 将帐户和客户包装到自己的实例中,如下所示: […]

dynamic查询MongoDB

我试图build立一个基于从客户端search表单收到的数据的MongoDB查询对象。 我的目标是用用户提供的任何和所有标准来查询数据库,同时允许用户如果他们select留下一些search字段空白。 这是我目前在查询对象的尝试是: var q = {}; // declare the query object q['$and']=[]; // filter the search by any criteria given by the user if((req.body.learninglanguages).length > 0){ // if the criteria has a value or values q["$and"].push('{learningLanguages: {$in: ' + req.body.learninglanguages.split(",") + '}}'); // add to the query object } if((req.body.spokenlanguages).length > 0){ q["$and"].push('{spokenLanguages: {$in: […]

返回嵌套的错误,并承诺ExpressJS / NodeJs

我从函数调用返回错误有点混淆。 例如,我使用sequelizeJS来说明这一点。 一般: First.Ctrl var second_ctrl = require( '../ctrl/second'); testCode : function(req, res, next){ return second_ctrl.getData() .then(function(resultData){ res.json(resultData); }) .catch(function(error){ res.json(error) }) } Second.Ctrl getData : function(){ return models.Data.findAll() } getData findAll中的任何错误都会转到first_ctrl的catch块。 但是,如果我必须做一些操作,如: Second.Ctrl – 操作 getData : function(){ return models.Data.findAll() .then(function(result){ if(result == null) throw new Error ('No data found'); return result; }) .catch(function(error){ […]

节点错误:发送后无法设置标题。 怎么解决?

用户单击loginbutton后,服务器通过显示“发送后无法设置标题”错误来closures自身。 任何帮助? Server.js文件 app.put('/users/signin',function(req,res,next){ db.collection('users',function(err,usersCollection){ usersCollection.findOne({username:req.body.username},function(err,user){ bcrypt.compare(req.body.password,user.password,function(err,result){ if(result){ var token = jwt.encode(user,JWT_SECRET); return res.json({token:token}); }else{ res.status(400).send(); } }) }); }); res.send(); }); 控制器从哪里我打电话给服务器.. $scope.signin = function(){ $http.put('/users/signin',{username:$scope.username,password:$scope.password}) .then(function(res){ $cookies.put('token',res.data.token); $scope.currentUser = $scope.username; alert("Successfully signed in"); },function(err){ alert("bad login credentials"); }); };

用摩卡柴和Stormpath

我的谷歌福可能失败了我,但我正在考虑为使用Stormpath进行身份validation的快速应用程序构buildunit testing。 所以典型的路线看起来像这样; app.get('/api/user', stormpath.loginRequired, userApi.get); 在这种情况下,我将如何使用像Mocha + Chai这样的testing框架?

node expressjs – 使用body-parser中间件parsing多部分/表单数据POST数据

我张贴我的表单数据具有multipart/form-data enctype。 我使用了formiddable nodejs middlerware,之前只是为application/jsontypes工作。 我发现express.js有一个名为require('body-parser');的middlerware require('body-parser'); 这可以达到同样的目的。 这是我的app.js var Express = require('express'); var Multer = require('multer'); var BodyParser = require('body-parser'); var app = Express(); app.use(BodyParser.json()); app.use(BodyParser.urlencoded({extended: false})); var storage = Multer.diskStorage({ destination: (req, file, callback) => { callback(null, './uploads'); }, filename: (req, file, callback) => { callback(null, file.fieldname + '-' + Date.now()); } }); […]