Tag: express

Node Express – Http post来返回文件

提交HTTPpost时,我无法返回文件 我知道我的所有代码都在运行,直到下载/ sendfile部分。 var postData = req.body; var outputString = ""; mkdirp('./server/tmp'); _.each(postData, function (each) { outputString += each.variable + ": " + each.value + " !default;\n"; }); fs.writeFile(path.resolve("./server/tmp/ionic.app.scss"), outputString); res.attachment(path.resolve("./server/tmp/ionic.app.scss")); res.end('hello,world\nkeesun,hi', 'UTF-8'); 我怎样才能做到这一点,当用户点击一个button时,它会发送一个POST请求,然后下载一个由节点服务器dynamic创build的文件?

nodejs由多个具有相同名称的input组成

让我先谢谢你:) 我正在使用节点快递。 我有一个types的forms <form> <div id=row-1> <input name=item></input> <input name=price></input> </div> <div id=row-2> <input name=item></input> <input name=price></input> </div> </form> 问题是我有同名的多个input,理想情况下在req.body,我想我的数据的forms: [ { item: item1, price: price1 }, { item: item2, price: price2 } ] 但是,当我发布表单数据,这是我得到: { item: [item1, item2], price: [price1, price2] } 有什么我可能会失踪? 再次感谢!

mongoose查询与哪里

我有一个mongoose查询,发现用户得到,但尚未赎回的所有奖励。 Reward.find({user: user, redeemed: false}).exec(callback) 我想把它变成所有没有赎回的报酬,以及今天所赎回的报酬。 这是正确的路要走。 Reward.find({user:user}) .where('redeemed').equals('false') .where('redeemed').equals('true').gt(yesterday) .exec(callback)

无法使用nvm在全球安装快速生成器

我正在使用NVM来避免使用sudo来安装全局。 它适用于所有从鲍尔,到Grunt等,但是,当我做npm install -g express-generator它不工作。 例如,inheritance我在全球安装Bower时所得到的结果: npm install -g bower /Users/jrdillon522/.node/bin/bower -> /Users/jrdillon522/.node/lib/node_modules/bower/bin/bower bower@1.3.12 /Users/jrdillon522/.node/lib/node_modules/bower ├── is-root@1.0.0 … … … ├── update-notifier@0.2.0 (semver-diff@0.1.0, string-length@0.1.2, latest-version@0.2.0, configstore@0.3.1) ├── mout@0.9.1 ├── handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6) ├── inquirer@0.7.1 (figures@1.3.3, mute-stream@0.0.4, through@2.3.6, readline2@0.1.0, lodash@2.4.1, cli-color@0.3.2, rx@2.3.14) └── insight@0.4.3 (object-assign@1.0.0, async@0.9.0, chalk@0.5.1, os-name@1.0.1, lodash.debounce@2.4.1, tough-cookie@0.12.1, configstore@0.3.1, inquirer@0.6.0) 工作正常吗? 当我安装Express Generator时,我得到了一个经典的错误: npm […]

Node.js连接到一个mongodb

我一直在关注这个教程 ,试图让mongodb node.js,express和jade一起工作,但是我不能让我的程序从数据库访问任何信息。 这里是应该访问数据库的app.js中的代码。 var mongo = require('mongodb'); var monk = require('monk'); var db = monk('localhost:27017/nodetest1'); ….a few lines down…. app.use(function(req,res,next){ req.db = db; next(); }); 这里是处理路由的代码: /* GET Userlist page. */ router.get('/userlist', function(req, res) { var db = req.db; var collection = db.get('usercollection'); collection.find({},{},function(e,docs){ res.render('userlist', { "userlist" : docs }); }); }); 这里是userlist.jade中的代码:它被devise为纯粹地弄清楚用户列表的内容是什么。 它应该包含数据库中的信息(其中有3个条目,每个数据有2个数据)。 […]

NodeJS Express需要和启动

我正在学习NodeJS和Express,然后我坚持要求工作。 我有主文件作为server.js和另一个testing文件作为test.js。 [server.js] var express=require('express'); //Include Routes var rTest=require('./routes/test'); //Express Application COnfiguration var app=express(); var port=process.env.PORT||3000; var router=express.Router(); //Index router.get('/',function(req,res){ res.json({message:'Welcome to Index!'}); }); app.use('/api/t',rTest); //Test app.listen(port); [routes / test.js] var express=require('express'); var router=express.Router(); router.route('/') .get(function(req,res){ res.send('Now Test Running OK!'); }); module.exports=router; 代码按预期工作 – 去http://localhost:3000/api/t打印“Now ..”消息。 所以我的问题是,为什么我不是在test.js中创build快速应用程序,而肯定是从express.Router()引用路由器? 当我试图用mongoose创build一个CRUD时,这会变得更加混乱。 为什么我必须在testing路由器文件中引用mongoose模块和模式,但不必像在主server.js文件中那样build立连接。 到目前为止,我已经理解了这个require对于我使用的模块来说实际上是本地的,这实际上是有意义的,因为每次我需要在其他模块中引用依赖模块。 但是我不必在路由文件中重新build立连接,也不必在路由文件中侦听某个端口,在路由文件中使用body-parser(当我使用它的时候)。 任何指针都会有所帮助。 提前致谢。

button更新node.js和HTML

我正在尝试使浏览器/计算机之间的基本计数器。 (我是新来的)。 该button只能工作大约1/12的时间。 我如何使它更一致? 谢谢! 我的服务器端node.js看起来像: var express = require('express'); var app = express(); var hits = 0; app.get('/main.html', function (req, res, next) { console.log('bye'); next(); }); app.get('/', function (req, res, next) { console.log('hello'); next(); }); app.get('/add', function (req, res) { console.log('added hits'); hits++; }); app.get('/hitNum', function (req, res) { console.log('hits req'); res.end(hits+''); }); app.use(express.static(__dirname […]

Node JS – Express – Mongo DB:在JSON密钥中使用额外的方括号发布数据

我试图使用快递将数据发布到节点js。 下面的代码是我用来发布数据到服务器。 var data = {}; data.opt = []; data.opt.push({label:"Rahul",name:"Rh"}); $.ajax({ type: "POST", url: '/save', data: data, dataType: "JSON" }); 当我从NodeJS获取数据时,我正在接受JSON opt: [ { '[label]': 'Rahul', '[name]': 'Rh' } ] 在上面的数据中,额外的方括号是在opt的关键值中加上的 请帮助我如何删除这个方块。 提前致谢。

对JavaScript文件的更改不会立即生效。 gulp browserify任务可能存在问题

当对JavaScript文件进行更改时,在更改生效之前,经常需要长达10秒的不断刷新页面。 我知道Chromecaching了很多,我已经使用了一些技术来解决这个问题: 我已经设置caching控制头'no-cache,no-store',添加一个基于当前时间的查询string到每一个JavaScript文件(我已经证实,这实际上每次刷新时都会改变),我有启用开发工具中的“禁用caching”选项。 但是,JavaScript文件仍然不能立即加载… 编辑:经过一些更多的testing后,我发现我的node.js应用程序中的gulp browserify任务(构build客户端JavaScript包)在gulp重新启动后5-10秒之前不会更新构build。 然而,这是奇怪的,因为吞吐量输出“3.24毫秒后完成”browserify“。 这就解释了为什么JavaScript文件不能在浏览器中刷新,但我无法弄清楚为什么不能立即刷新。 有没有人经历过这个?

天青node.js请求,响应 – 寻求一些澄清

我正在使用Azure移动服务 – NodeJS后端,编程时,我总是面对这个疑问 – 让我解释一下使用下面的代码片段 //————————————————————————– function addUserToDB(request, response){ ///some code here var theUser = request.user; ///get the user's entity object try { objAppUser = buildAppUserEntityObj(theUser, request); //for simplicity sake, lets say this is not asynchronous function } catch (err) { console.log ('error in addUserToDB when calling buildAppUserEntityObj'); //****????**** request.respond(statusCodes.BAD_REQUEST, err); return; // ##????## is […]