草庐IT

expressive

全部标签

node.js - 如何从 express 、参数和查询中的 url 获取 id 似乎不起作用

我有一个url,我正在尝试获取id,但是req.params和req.query都不起作用app.get('/test/:uid',functiontestfn(req,res,next){debug('uid',req.params.uid);//gives:uiddebug('uid',req.query.uid);//givesundefined});我正在做这样的ajax调用$(document).on('click','a.testlink',function(e){$.ajax({type:"GET",url:'/test/:uid',success:function(va

ajax - 如何使用 express.js 在 Ajax 调用中实现 CSRF 保护(寻找完整示例)?

我正在尝试在使用express.js框架的node.js构建的应用中实现CSRF保护。该应用程序大量使用了对服务器的Ajax发布调用。我了解连接框架提供CSRF中间件,但我不确定如何在客户端Ajax发布请求的范围内实现它。在stackoverflow中发布的其他问题中对此有一些零碎的内容,但我还没有找到一个相当完整的示例来说明如何从客户端和服务器端实现它。有没有人愿意分享如何实现这一点的工作示例?我见过的大多数示例都假设您在服务器端呈现表单,然后将其(连同嵌入式csrf_token表单字段)发送到客户端。在我的应用程序中,所有内容都通过Backbone.js在客户端(包括模板)呈现。服

node.js - 如何使用 Express.js 正确处理 SIGINT?

当我的Express.js时,我需要做一些有用的事情。服务被SIGINT停止。使用Express.js版本3.0.6,我知道这应该可以工作:varexpress=require('express');varapp=express();varserver=app.listen(3000);process.on('SIGINT',function(){console.log('Dosomethingusefulhere.');server.close();});但除非我发出SIGINT(Control-C)两次,否则该过程不会返回Bash提示:$nodeproblem.js^CDosome

javascript - 在 Express 和 Node.js 中,是否可以扩展或覆盖响应对象的方法?

对于每个中间件,Express传递一个res和一个req对象。这些对象分别扩展了来自http.ServerResponse和http.ClientRequest的原生对象。我想知道是否可以覆盖或扩展响应对象的方法。例如,代替res.render('home',jsonData);,我想用一个名为customRender的自定义方法扩展res并使用它像这样:res.customRender().我并没有被某个特定问题或任何事情所困扰。我只想学习如何扩展native对象,或者像本例一样,扩展来自Node.js中的3rd方模块的对象 最佳答案

javascript - 如何在 Node.js/Express 中进行重定向(301)?

我有一个静态站点,我在Dokku中部署了一个简单的单页布局。我需要从www到非www以及从*.website1.com到website2.com进行重定向(301),但我不知道如何。我试图在npm中使用express-force-domain,但它使我的URL变得疯狂并且有一些重定向循环,我正在尝试我在网络上找到的其他方法但没有成功。我的server.js是:varexpress=require('express')varapp=express();app.set('port',(process.env.PORT||80))app.use(express.static(__dirnam

javascript - Express 服务器启动时如何运行函数?

我似乎不知道如何让我的快速服务器在服务器启动时运行一个简单的功能。在服务器启动时调用函数以运行的适当位置以及正确的语法在哪里?我的路由文件中有函数exports.myFunction=function(){codehere};我尝试将它作为routes.myFunction粘贴在app.configureblock中。我尝试在路由中将其更改为myfunction(){code},然后在配置block中将其调用为routes.myfunction(),也没有运气.该函数需要保留在包含我的路由的文件中,因为它在那里更改了一些全局变量。我知道这是一些非常简单的语法,但我似乎找不到任何提示he

node.js - 重新启动服务器时 Express 4 session 不持久

我有一个Express4应用设置来进行session。//Sessionsapp.use(cookieParser());app.use(session({secret:"some-secret"}));//Signupapp.post("/signup",function(req,res){create_user(req.body.user,function(err,user_id){req.session.user_id=user_id;res.redirect("/admin");});});当我提交表单时,它会将user_id保存到req.session。但是,当我重新启动服务

node.js - 使用 npm 安装 express

我最近在ubuntu64位上安装了nodejs版本0.10.26。node-v和npm-v命令运行良好,我可以看到正确的版本。当我执行$sudonpminstall-gexpress安装顺利。但是,当我尝试使用express作为$expressmyProject创建一个项目时,我收到一条错误消息Theprogram'express'iscurrentlynotinstalled.Youcaninstallitbytyping:sudoapt-getinstallnode-express我必须在$PATH中包含一些路径才能运行express吗?请帮忙。 最佳答

javascript - 在 Node.js/Express 中,我如何 "download"一个页面并获取它的 HTML?

在代码中,我想下载“http://www.google.com”并将其存储在一个字符串中。我知道如何在python的urllib中做到这一点。但是如何在Node.JS+Express中做到这一点? 最佳答案 varutil=require("util"),http=require("http");varoptions={host:"www.google.com",port:80,path:"/"};varcontent="";varreq=http.request(options,function(res){res.setEncod

Node.js Express express.json 和 express.urlencoded 与表单提交

Express(或Connect的)bodyParser中间件被标记为已弃用,建议用户改用:app.use(connect.urlencoded())app.use(connect.json())但是,当我从Node.jsinAction运行示例时,我使用curl按照书中的建议填写表单:curl-Fentry[title]='Hohoho'-Fentry[body]='santalovesyou'http://abc:123@127.0.0.1:3000/api/entry它不起作用。req.body未定义。我错过了什么吗?它适用于bodyParser。编辑:Express4的解决方案