Tag: express

从facebook使用nodejs和expression所有的相册

我需要使用nodejs和express来从facebook获取所有相册。我正在使用护照来validation用户身份。 passport.use(new FacebookStrategy( { clientID : FACEBOOK_APP_ID, clientSecret : FACEBOOK_APP_SECRET, callbackURL : FACEBOOK_CALL_BACK_URL, profile : true }, function(accessToken, refreshToken, profile, done) { FB_ACCESS_TOKEN = accessToken; process.nextTick(function() { console.log("FB_ACCESS_TOKEN : " + FB_ACCESS_TOKEN); return done(null, profile); }); })); 在callback中,我要求范围user_status,user_photos和offline_access app.get('/auth/facebook', passport.authenticate('facebook'), { scope : [ 'user_status', 'user_photos','offline_access'] }, function(req, res) { }); 获取我正在使用的所有相册 app.get('/albums', function(req, res) […]

在heroku上运行的Node.js应用程序 – 找不到模块./http

我疯了试图弄清楚这一点。 我有一个使用Express和MongoDB(mongoose)的node.js应用程序。 它在当地运行得很好。 我似乎毫无问题地将其部署到了heroku,但是当我试图实际启动应用程序时,它崩溃了。 heroku日志说: macbook-pro-4:FF_Courtney cmitchell$ heroku logs 2012-10-29T19:31:27+00:00 heroku[web.1]: State changed from crashed to starting 2012-10-29T19:31:30+00:00 heroku[web.1]: Starting process with command `node web.js` 2012-10-29T19:31:31+00:00 app[web.1]: 2012-10-29T19:31:31+00:00 app[web.1]: module.js:340 2012-10-29T19:31:31+00:00 app[web.1]: throw err; 2012-10-29T19:31:31+00:00 app[web.1]: Error: Cannot find module './http' 2012-10-29T19:31:31+00:00 app[web.1]: ^ 2012-10-29T19:31:31+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15) 2012-10-29T19:31:31+00:00 app[web.1]: at Function.Module._load (module.js:280:25) 2012-10-29T19:31:31+00:00 […]

无法使用NodeJS(ExpressJS)parsingXML以进入MongoDB

我有一个数据源只能以XML格式提供给我,而不是JSON,这是MongoDB的首选数据types。 我有一个方法,允许JSON发布到MongoDB集合,我试图修改它来处理XML数据。 这是我修改的方法: exports.addXMLTicket = function(req, res) { var xml2js = require('xml2js'); var xml = req.body; var parser = new xml2js.Parser(); parser.parseString(xml, function (err, ticket) { console.log('Done parsing XML'); console.log('Adding ticket: ' + JSON.stringify(ticket)); db.collection('tickets', function(err, collection) { collection.insert(ticket, {safe:true}, function(err, result) { if (err) { res.send({'error':'An error has occurred'}); } else { console.log('Success: ' […]

如何得到http请求file upload的响应中止?

我打算用express来上传一个使用nodejs的文件。 我看到bodyParser完成了这项工作 app.use(express.bodyParser({"limit": '2mb'})); 但是,如果我想限制请求的大小,我发现它不会取消上传。 客户端不断发送数据。 所以我写了这个中间件: app.use(function (err, req, res, next) { if(err.status == 413){ req.destroy(); return res.json({ "status": 413, "message": err },413); }else next(err); }); 它工作,取消上传,但客户端不会(或忽略)回应! 我认为这可能是一个http协议的行为,所以任何帮助表示赞赏。

我如何正确构build我的NodeJS,Express和MongoDB代码?

我是新来的三个,但我确实知道JavaScript。 我理解他们所有的基本知识,但不明白什么是最好的方式来实现NodeJS服务器与expressionMVC和MongoDB数据库查询的JavaScript。 我想分解所有这些到他们自己的文件显然,但我不知道如何一切适合到由Express创build的预先创build的项目模板。 有没有人有一个很好的解决scheme或资源与我分享? 谢谢

部署到heroku的node express app中的“格式不正确的HTTP响应”

以下代码在本地部署,接收请求并将其转发到其他服务器以validation许可证时可以工作: var express = require("express"); var app = express(); var request = require("request"); var ddKey = "someKey"; var ddSecret = "someSecret"; var ProId = "someId"; var testLicense = "someLicense"; app.get("/", function(req, res){ var license = req.query["license"] || "test"; var url = "https://"+ddKey+":"+ddSecret+"@licenseServer.com/products/"+ProId+"/licenses/check_valid?key="+license; request.get(url, {"auth": {"user": ddKey, "pass": ddSecret}, "json": true}, function(error, response, body){ res.send("BODY:", response.body); […]

在express节点上使用本地驱动程序连接到heroku上的mongodb

在我的本地机器上,我通过这种方式连接到mongoDb“tasksdb”数据库: var server = new Server('localhost', 27017, {auto_reconnect: true, }); db = new Db('tasksdb', server); db.open(function(err, db) { if(!err) { console.log("Connected to 'tasksdb' database"); db.collection('tasks', {safe:true}, function(err, collection) { if (err) { console.log("The 'tasks' collection doesn't exist. Creating it with sample data…"); populateDB(); } }); } }); 如何强制它在heroku上工作? 我试过了: var server = new Server(process.env.MONGOLAB_URI, process.env.PORT, […]

第一个通过Heroku进行Node应用部署的麻烦

遵循12dev的圣诞教程来创build我的第一个Node.js应用程序( http://12devsofxmas.co.uk/post/2012-12-28-day-3-realtime-collaborative-drawing-with-nodejs ) m现在试图按照Rob Dodson的教程通过Heroku部署它( http://robdodson.me/blog/2012/06/04/deploying-your-first-node-dot-js-and-socket-dot-io- app-to-heroku / ) 但是,在提交给github之后,当我尝试推送到Heroku时,出现以下错误输出: —–> Installing dependencies with npm npm WARN package.json Draw@0.0.1 No README.md file found! npm http GET https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-2.5.11.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.11.tgz npm ERR! Refusing to delete: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express not in /tmp/build_1t6d7hbd2psal/node_modules/express File exists: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express Move it away, and […]

在没有视图的REST API的MVC框架中的控制器

我明白,MVC框架中的Controller作为模型和视图之间的接口。 如果我的后端是一个API(没有任何视图),控制器不需要? 如果是的话,我应该把我的CRUD操作放在模型中吗?

从Node / Express发送确认提醒到浏览器,无需重新载入页面

我有一个工作用户身份validation系统的Web应用程序。 当用户更新他们的数据(例如电子邮件地址或密码)时,它会向服务器发送POST请求,从而更新数据库。 我想在成功或错误的时候在现有页面上有一个引导样式块警报。 我可以通过(1)来自服务器的res.send响应和(2) res.send数据的jQuery脚本以及将阻止警告HTML代码插入浏览器的方式来实现这一点吗? app.post块(通过post请求接收更新后的用户数据)如下所示: app.post('/updateuser', function(req, res) { console.log(req.body); [code here to update database] res.send('[code to send to jQuery here]'); 呈现阻止警报的HTML是: <div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Success!</strong>User data has been updated. </div> 如果这是可能的,(a)服务器端res.send或类似和(b)客户端jQuery代码是什么样的? 提前致谢!