出于某种原因,我无法redirect到/博客,一旦我的login完成。 在我的login控制器中,我有以下。 module.exports = { post: function(req, res) { var login = req.body['login']; if (login && req.body['login']['password'] == "password") { console.log('Granted access'); res.send({redirect: '/blog'}); } else { console.log('wrong password'); res.redirect('back'); } } }; jquery ajax $(document).ready -> $('#login-button').click () -> $.ajax url: '/login' type: 'POST' data: $('#Password').serialize() dataType: 'json' success: (data, textStatus, jqXHR) -> if […]
我有一个包含http(s)服务器的Node.js应用程序。 在特定情况下,我需要以编程方式closures此服务器。 我现在正在调用它的close()函数,但是这并没有帮助,因为它等待任何保持活动的连接首先完成。 所以,基本上,这closures了服务器,但只有最less120秒的等待时间。 但是我希望服务器立即closures – 即使这意味着与当前处理的请求分离。 我不能做的是一个简单的 process.exit(); 因为服务器只是应用程序的一部分,应用程序的其余部分应该保持运行。 我正在寻找的是概念上的东西,如server.destroy(); 或类似的东西。 我怎么能做到这一点? PS:连接的保持活动超时通常是必需的,因此减less这个时间不是一个可行的select。
我在MongoDB中有这个数据: { "name": "Amey", "country": "India", "region": "Dhule,Maharashtra" } 我想检索作为variables传递的字段名称上的数据查询。 以下不起作用: var name = req.params.name; var value = req.params.value; collection.findOne({name: value}, function(err, item) { res.send(item); }); 我如何查询mongodb保持字段名称和它的值dynamic?
我有一个情况,我试图用grunt来删除一个代码库,不包括特定的文件夹。 咕噜使用minimatch(类似于bsdglob)在引擎盖下匹配文件,但我似乎无法弄清楚如何做一个.gitignore风格排除一个文件夹。 我想要摄取这个: ignoreme 并匹配这些: /folder/path/here/to/something/ok.js /another/folder/path.js /test.js 但不匹配这些: /folder/ignoreme/something.js /folder/path/here/to/ignoreme/metoo/file.js 这将匹配一切,包括忽略: /**/*.js 所以我想我可以做一些事情: /**/!(ignoreme)/**/*.js 但是匹配ignoreme文件夹中的文件。 我习惯了正则expression式,但似乎无法弄清楚如何在这里重复模式或东西 – 我也尝试过这样的东西: /(!(ignoreme)|*)*/*.js 希望容器可以重复,但是这不起作用,它只是没有匹配所有的东西。 任何方式来传递一个正则expression式grunt文件path,或使这对我工作? 更新: 以下是我目前正在处理的问题: var pattern = /\/ignoreme\// var files = grunt.file.expandFiles(arrayOfFilesPassedToMinimatch).filter(function(f){ return !pattern.test(f) }) 我仍然有兴趣,如果文件夹排除可能在minimatch。
我正在尝试使用Node.js将base64图像上传到FaceBook页面。 我设法得到上传与所有的多部分数据等工作,如果我从文件系统读取文件(即使用fs.readFileSync('c:\ a.jpg')) 但是,我应该使用base64编码的图像,并尝试上传它,它给了我以下错误: {"error":{"message":"(#1) An unknown error occurred","type":"OAuthException","code":1}} 我已经尝试将其转换为二进制的new Buffer(b64string, 'base64'); 并上传,但没有运气。 我一直在为此奋斗了3天,所以anyhelp将不胜感激。 编辑:如果任何人也知道我可以如何将base64转换为二进制,并成功上传,这也适用于我。 编辑:代码片段 var postDetails = separator + newlineConstant + 'Content-Disposition: form-data;name="access_token"' + newlineConstant + newlineConstant + accessToken + newlineConstant + separator; postDetails = postDetails + newlineConstant + 'Content-Disposition: form-data; name="message"' + newlineConstant + newlineConstant + message + newlineConstant; //Add the Image […]
我正在使用Jade和Express,我想在我的include语句中使用一个variables。 例如: app.js app.get('/admin', function (req, res) { var Admin = require('./routes/admin/app').Admin; res.render(Admin.view, { title: 'Admin', page: 'admin' }); }); layout.jade – var templates = page + '/templates/' include templates 当我这样做时,我得到错误EBADF, Bad file descriptor 'templates.jade' 我甚至尝试过 include #{templates} 无济于事。
我看到在OS X上运行babel-node版本6.1.18 /节点版本5.1.0时, instanceof运算符不能运行在Error子类的实例上。为什么? 相同的代码在浏览器中运行良好,请尝试我的小提琴示例。 下面的代码在浏览器中输出true ,而在babel-node下则为false: class Sub extends Error { } let s = new Sub() console.log(`The variable 's' is an instance of Sub: ${s instanceof Sub}`) 我只能想象这是由于babel-node中的错误,因为instanceof对于其他基类的工作比Error 。 .babelrc { "presets": ["es2015"] } 编译输出 这是由babel 6.1.18编译的JavaScript: 'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a […]
我有一个尝试将.scss文件转换成.css文件(使用gulp-ruby-sass)的gulp任务,然后将得到的.css文件放到find原始文件的相同位置。 问题是,因为我正在使用globbing模式,所以我不一定知道原始文件的存储位置。 在下面的代码中,我试图用gulp-tap来进入stream,并找出当前文件stream的读取文件path: gulp.task('convertSass', function() { var fileLocation = ""; gulp.src("sass/**/*.scss") .pipe(sass()) .pipe(tap(function(file,t){ fileLocation = path.dirname(file.path); console.log(fileLocation); })) .pipe(gulp.dest(fileLocation)); }); 基于console.log(fileLocation)的输出,这段代码看起来应该可以正常工作。 但是,由此产生的CSS文件似乎被放在比我预期的更高的目录。 它应该是project/sass/partials ,结果文件path只是project/partials 。 如果有这样一个更简单的方法,我一定会更加欣赏这个解决scheme。 谢谢!
当使用Node.js尝试获取以下网页的html内容时: eternagame.wikia.com/wiki/EteRNA_Dictionary 我得到以下错误: events.js:72 throw er; // Unhandled 'error' event ^ Error: getaddrinfo ENOTFOUND at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16) 我已经在stackoverflow上查找这个错误,并意识到这是因为node.js无法从DNS(我认为)find服务器。 但是,我不确定为什么会这样,因为我的代码在www.google.com完美运行。 这里是我的代码(实际上从一个非常类似的问题复制和粘贴,除了主机已更改): var http = require("http"); var options = { host: 'eternagame.wikia.com/wiki/EteRNA_Dictionary' }; http.get(options, function (http_res) { // initialize the container for our data var data = ""; // this event fires […]
通过Node MongoDB本地驱动程序使用Nodejs和MongoDB。 需要检索一些文件,并进行修改,然后将其保存。 这是一个例子: db.open(function (err, db) { db.collection('foo', function (err, collection) { var cursor = collection.find({}); cursor.each(function (err, doc) { if (doc != null) { doc.newkey = 'foo'; // Make some changes db.save(doc); // Update the document } else { db.close(); // Closing the connection } }); }); }); 具有asynchronous性质,如果更新文档的过程花费更长时间,那么当光标到达文档的末尾时,数据库连接将closures。 并非所有更新都保存到数据库。 如果省略了db.close() ,则所有文档都会正确更新,但应用程序挂起,不会退出。 我看到一个postbuild议使用一个计数器跟踪更新数量,当回落到零,然后closures数据库。 […]