Tag: express

在非Javascript服务器上使用基于Javascript的服务器有什么好处?

免责声明:这个问题会有些开放。 我也希望回复部分基于开发者偏好。 我最近一直在做一些关于Express.js的研究(通过Node.js),我正在努力寻找如何将这些技术应用到我当前开发网站的工作stream程中。 最近我一直在Wordpress或Ruby on Rails中工作,之前将运行在Apache上,后者将运行在它自己的专有服务器上(我假设)。 现在也许我只是没有理解的东西,但我看不到有利于获得支持基于Javascript的框架/服务器。 如果在我的工作stream程的这一部分有明确的优势,他们会是什么? 我一直没有find任何方法来适应(每说)一个Rails应用程序或Wordpress网站。 有人能指出我在已经使用的这些技术之上的一些更好的帮助吗? 最后一个问题,如果有人在浏览器中禁用Javascript,会发生什么? 基于Javascript的服务器如何反应(如果有的话)?

Node.js + Express:无需重新加载页面即可上传文件

我正在使用Node.js创build一个聊天应用程序,并希望有一个file uploadfunction。 虽然我可以得到file upload,浏览器将始终被redirect到另一个链接或页面刷新,这当然扰乱了聊天。 首先,我尝试使用Express来做到这一点: index.html的: <form id="fileSendButton" action="/" method="post" enctype="multipart/form-data"> <input type="text" name="title"><br> <input type="file" name="upload" multiple="multiple"><br> <input type="submit" value="Upload"> </form> app.js: app.post('/', function(req, res){ //some validation and rename file res.send(); return false; }); 接下来,我尝试使用AJAX,但仍然无法做到这一点,每当AJAX POST到Node.js服务器,它会重新加载页面。 无论如何,我的AJAX代码: index.html的: $.ajax({ type: "POST", url: "/", data: formdata, processData: false, contentType: false, success: function (res) { document.getElementById("chatText").innerHTML […]

如何从另一个方法调用一个方法

可能重复: 从module.exports中的另一个函数调用module.exports中的“本地”函数? 我正在使用node.js来开发我的应用程序。 我必须从我的main.js调用另一个方法中的一个方法。 我该怎么做呢? 我在这里解释细节。 app.js app.post('/getNotificationCount', function (req, res) { res.setHeader('Cache-Control', 'max-age=0, must-revalidate, no-cache, no-store'); res.setHeader('Connection', 'keep-alive'); res.contentType('application/json'); res.setHeader('Expires', new Date().addYears(-10)); try { //here i have my custom code/logic //i have to call '/getNotification' method here, i have to pass parameter too.. } catch (err) { console.log('\r\n ' + new Date().toString() + ' […]

无法从主干进行POST来expression

这是我正在研究的观点。 这是一个简单的registry格。 它从一组input标签捕获数据,并将其发布到服务器。 但是,POST数据似乎并没有被传送到服务器。 define(['text!templates/register.html'], function(registerTemplate){ var registerView = Backbone.View.extend({ el: $('#content'), events: { "submit form" : "register" }, register: function() { var postData = { firstname: $('input[name=firstname]').val(), lastname: $('input[name=lastname]').val(), email: $('input[name=email]').val(), password: $('input[name=password]').val() }; $.post('/register', postData, function(data){ console.log(data); } }).error(function(err){ console.log(err); }); return false; }, render: function(){ this.$el.html(registerTemplate); } }); return registerView; }); 这是我的应用程序中的请求侦听器。 […]

关系不存在 – JugglingDB与Postgres适配器中的错误

我正在使用Node with Express,并且将我的ORM从Mongoose(Mongo)移动到JugglingDB(Postgres),并且让JugglingDB使用我定义的一个简单模式困难得多。 我的模式如下: var UserToken = schema.define('UserToken', { token: {type: String, index: true} }, { tablename: 'user_token' }); var User = schema.define('User', { email: {type: String, required: true, index: true}, password_hash: String, first_name: String, last_name: String, role: {type: String, required: true, default: 'member'}, language: {type: String, default: 'en'}, api_key: String, active: {type: Boolean, required: […]

从Express / node.js Web应用程序预填充HTML / Jade

我有一个使用Express构buildnode.js的Web应用程序。 我正在使用Jade模板文件进行HTML显示。 在其中的一个显示中,我想要预先填充数据的各个字段。 数据存储在一个mongodb会话存储中,以及数据库中的一个单独的集合中。 我宁愿使用会话数据预先填充HTML / Jade显示中的这些字段。 我怎么能这样做(如果可能的话)?

如何从Mongoose查询返回值

我正在做一个注册部分,在input数据到mongo之前进行一些服务器端validation。 我对mongoose是很新的,并且在返回数据到完成所有注册过程的方法时遇到麻烦。 在我的机车控制器中,我有一个包装一切的方法来开始注册过程。 auth = new Authenticator(); auth.signUp(this.req.body); 在我的auth对象中,signUp只是在创build一个新用户之前通过validation数据。 一个validation是,在数据库中已经没有重复的电子邮件了。 this.signUpUser = function(user) { if(this.isNotDuplicate(user.email) { //continue doing whatever needs done to the data afterwards } else { response['error'] = True response['response'] = "duplicate email" } } 我正在尝试的一种方法是寻找匹配并返回true或false的电子邮件。 this.isNotDuplicate = function(email) { query = user.findOne({ 'email': email }); query.exec(function(error, user) { if(error) { console.log(error); } […]

Nodejs Express:无法识别的内容types

我试图从phonegap应用程序发送一个文件到一个nodejs服务器,并与请求标头的内容types有问题。 Error: unrecognized content-type: multipart/form-data;boundary express=++++++ 代码直接从Phonegap的例子中获取。 当服务器收到请求时,会抛出上述错误。 任何想法可能会导致这种行为?

为什么编辑状态码时不能正确表示redirect?

标准res.redirect('/some/path'); 如预期的那样运行,并立即将请求redirect到/some/path ,但是如果我添加一个状态代码,例如res.redirect(401, '/some/path')并导航到redirect页面,则express不会redirect到/some/path ,而我只是得到以下页面: <p>Unauthorized. Redirecting to <a href="/some/path">/</a></p> 它永远不会redirect。 对于我刚才提供的任何状态码,这都是一样的。 为什么没有指定的代码redirect工作,因为我期待它,我怎样才能返回一个自定义的状态码,并redirect到不同的path?

在节点module.exports的对象方法中使用“this”

这是我的模块: module.exports = { name: '', email: '', id: '', provider: '', logged_in: false, isLoggedIn: function(req, res, next){ console.log(this); } }; 我像这样导入它: var user = require('user'); 当我使用isLoggedIn函数作为Express的中间时,控制台会logging全局的Node对象。 我如何得到它的function是在内的对象? 编辑 所以我有我的用户对象如上定义。 根据各种因素,这个对象在程序的其他地方被填充。 我用创build一个中间件函数来快速的testing用户是否login。显然把这个函数放在用户对象的地方,但是我需要访问logged_in属性来正确评估它。 因此使用this.logged_in。