Tag: expression

Express会话属性区分浏览器和邮递员

UPDATE 我认为值得一提的是我正在运行在端口4200上运行的Angular CLI,而我的服务器在端口8080上运行。这可能是一个问题吗? 这是我现在唯一能想到的事情 当我打电话给路由'/ auth / login'时,我在会话对象上设置了一个loggedIn属性。 要检查用户是否已通过身份validation,请求“/ auth / checktoken”。 在这里,我检查req.session对象上是否存在loggedIn属性。 当我在Postman中执行这些请求时,一切正常,但在使用浏览器时,session.loggedIn属性是未定义的。 我将粘贴下面的相关代码。 在此先感谢您的帮助 服务器端 router.get('/checktoken', (req, res) => { if(!req.session.loggedIn) { return res.status(401).send({ userTitle: 'Not authorised', userMessage: 'You are not authorised to view this' }) } return res.status(200).send() }) 客户端 @Injectable() export class CheckAuthenticationService implements CanActivate { constructor( private router: Router, private […]

快递不路由一些jQuery请求

我有一个恼人的问题。 我正在尝试构build一个简单的网站。 该网站使用一个API我build立使用nodejs和expression。 在开发API时,我经常用邮差检查function。 一切工作,仍然工作正常(使用邮递员)。 现在我开始在我的网站上工作。 第一个GET和POST工作正常。 (我尝试了一些轻量级的Ajax库,没有工作,只有jQuery似乎为我工作) 现在我正在尝试使用PUT动词来更新一个项目。 再次更新使用邮差工作正常。 但是尝试使用jQuery并不会引发正确的路由。 为了检查,我添加了一个简单的console.log,如果明确地使用了最后一个中间件,这个中间件在处理PUT的函数中也返回一个404 statuscode和一个console.log。 每次我使用jQuery来更新一个元素到404。如果我使用邮递员,我看到来自PUT函数的消息。 我的APIController(NodeJS with Express): let express = require('express'); //let path = require('path'); let bodyParser = require('body-parser'); let mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test', { useMongoClient: true }); require('./Models/InitModels'); let app = express(); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); […]

如何在nodejs中将多个string与一个正则expression式匹配?

我的问题 我一直困惑的下面的代码片段。 string似乎是相同的正则expression式(唯一的区别是一个数字应该与\d匹配。实际上,第一个string匹配,而第二个string不匹配。 玩过之后,很明显顺序很重要:只匹配第一个string。 const regex = /departure\stime\s+([\d:]+)[\s\S]*arrival\stime\s+([\d:]+)[\s\S]*Platform\s+(\S+)[\s\S]*Duration\s([\d:]+)/gm; const s1 = '\n departure time 05:42\n \n arrival time 06:39\n Boarding the train from Platform 3\n \n Switch train in \n No changing\n \n Change\n \n \n \n \n Access for handicapped.\n reserved seats\n \n \n Duration 00:57\n \n '; const s2 = '\n departure time […]

节点mongodb本地保持收集?

现在我正在打开每个请求的集合: 即: app.get('/route', function (req, res) { db.collection('user', function (err, collection) { collection.find(blah) // do something app.get('/route2', function (req, res) { db.collection('user', function (err, collection) { collection.find(foo) // do something app.get('/route3', function (req, res) { db.collection('user', function (err, collection) { collection.find(bar) // do something 这是不正确的? 我想我应该把'用户'集合保存到一个variables,并没有得到它的每一个请求。 谢谢。

Express / Node.JS中间件引起错误,继续处理

我开始在NodeJS / Express下,我正面临以下问题(我可能还没有获得asynchronous编程的所有技巧) 我做了一个中间件负责检查是否传递了一个oauth_token参数(实际上是在我的节点服务器上实现了oAuth层) 我正在这样做: function myMiddle(req,res,next) { var oAuthToken = req.query["oauth_token"]; if (oAuthToken == undefined) { res.send(406); res.end(); next(new Error('No token provided')); } /* Basically doing some DB stuff with MongoDB, connecting and using oAuthToken provided to query, etc.. */ 问题是,当他没有收到查询string中的oauth_token参数时,我希望代码“死”。 这实际上引起了我一个错误,并且向我的HTTP客户端返回了大量的错误,但是代码一直在处理后面,并且引发了由于我的处理代码导致的可变标头错误,并且我的脚本死亡了。 我失踪的东西? 感谢提前。

如何扩展express.js会话

我怎样才能确保我的express.js应用程序的客户端会话持续时间超过几个小时? 我不希望他们每次访问我的网站时重新login。 我试图在express.session方法上express.session expires选项,但这似乎没有任何效果。

res.send()express.js自动redirect

我正在使用nodejs和框架express.js来实现我的网站。 我正在提交一个URL请求(/ report / reportname ) reportname是一个variables。 所以我这样做: app.post('/report/:id', function(req, res){ var id=req.param('id'); var bodyreportHtml; go.prototype.runReport(id,res); } 事情是在go.prototype.runReport(id,res) 我做一个res.send(bodyofthereport) 。 所以当我点击提交在我的表单上,只是redirect我的/report/nameofthereport pdf报告。 一切正常,但我想把这个URL /report/nameofthereport (PDF报告)在iframe中。 所以当我提交发布请求时,我只想刷新iframe并在其中打印报告(iframe与表单在同一页面上)。 但res.send(bodyofthereport)是必不可less的:它打印在/report/nameofthereport我的报告而我不能做一个res.redirect('/')因为身体finished 我能怎么做 ? 谢谢 !

在intelliJ中创build一个Node.js Express项目

我在intelliJ中安装了nodejs插件,但我无法find创buildNode.js Express项目的方法,就像使用WebStorm所做的一样 。 请参阅下面的WebStorm截图。

我应该用什么来validation用户login与nodejs

我在ExpressJS中使用MySQL。 我在数据库中插入了数据,现在我需要使用数据库中的数据来validation用户,例如: username: john password: 123 现在,当john使用用户名和密码login时,应该检查它是否存在于MySQL中,因为我在PHP中使用了以下方法: $query=mysql_query("SELECT * from login WHERE username='".$_POST['username']."' AND password='".$_POST['password']."' ") or die(mysql_error()); if(mysql_fetch_row($query)>0){ echo "Login Sucessfully"; }> else{ echo "Wrong Id or Password"; }

在Express 2.x中访问Redis insdie路由处理程序

我已经使用CLI创build了一个Express 2.x应用程序。 所以我有一个路由目录和一个index.js。 现在,在app.js中,我已连接到Redis,并且正常工作。 我从app.js的routes / index.js文件中调用函数: app.post('/signup', routes.myroute); myroute函数包含从Redis获取密钥的代码。 现在,我得到了redis没有定义的错误。 如何将redis对象从app.js传递到routes / index.js?