Tag: expression

Expressjs regExp与参数

嗨,我想让我的正则expression式在expressJS工作。 如果我进入/ se / home / helloworld,它总会触发第一个“Home”而不是“Test”。 如何解决这个问题? 很好,它必须处理这条树的path。 /se/home/:user /se/home/:user/:notes /se/home/:user/:notes/:someting 这是我迄今为止pipe理的… app.get(new RegExp("^(\/(se|en))?\/home\/"), function(req, res, next) { console.log("Home"); res.render('index', { title: 'Express' }); }); app.get(new RegExp("^(\/(se|en))?\/home\/([^/]+)"), function(req, res, next) { console.log("Test"); console.log(req.params); res.render('index', { title: 'Express test' }); });

创buildInstagram API地理订阅的CORS问题

我正在尝试向Instagram地理订阅API端点发出POST请求。 我得到了和其他人一样的错误: OPTIONS https://api.instagram.com/v1/subscriptions/ XMLHttpRequest cannot load https://api.instagram.com/v1/subscriptions/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:1337' is therefore not allowed access. The response had HTTP status code 405. 我在前端使用Node / Express和Angular。 这是我在$ http服务中对Angular的请求: $http.post('https://api.instagram.com/v1/subscriptions/', { client_id: 'XXX', client_secret: 'XXX', object: 'geography', aspect: 'media', lat: 35.657872, lng: 139.70232, radius: 1000, callback_url: 'http://localhost:1337/auth/instagram/callback' }) […]

如何在Node.js中捕获原始请求

我能够使用下面的源代码在Node.js中捕获原始请求。 var http = require('http'); var express = require('express'); var remote = express(); remote.use(function(req, res, next) { req.socket.once('data', function(data) { console.log(data.toString()); }); next(); }); remote.use(function(req, res, next) { res.end('end'); }); http.createServer(remote).listen(8080); 但是这个源可以在包含第二个请求之后捕获原始请求,因为第一个请求在绑定事件处理程序之前被消耗了。 如果客户不使用保持活着,我不能捕获任何请求。 我如何捕获原始请求,包括第一个请求?

当设置contentType时,jquery ajax不工作

我在localhost:3000和localhost:3001上运行了两个节点js服务器。 当我从localhost:3001到localhost:3000发出ajax POST请求时,没有任何反应。 我已经检查了localhost:3000上的日志,它甚至没有收到POST请求。 这是我正在做ajax调用的代码: $.ajax({ type:"POST", url:"http://localhost:3000/post/", contentType:"application/json", dataType:'json', data: JSON.stringify({name:'Bruce Wayne'}), success:function(response) { console.log(response); } }); 但是,当我删除contentType字段或将其更改为“文本/纯文本”,而不是“应用程序/ JSON”,它的工作原理。 在本地主机:3000我也发送这些头在响应。 res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS"); 我已经经历了很多问题,并尝试了一切。 有人能帮我弄清楚问题在这里吗? 谢谢。

当操作完成时发送“响应”

我正在使用Express来build立一堆基于POST请求正文的文件。 每当应用程序收到一个POST Request ,它将调用一些长时间运行的函数来生成这些文件: app.post('/test', function(req, res) { buildMyFiles(req.body); // making files res.send('got the post'); }); 我不想发送任何回应,直到所有的文件被创build。 我怎么能做到这一点?

为商务应用程序快速存储会话我应该使用什么?

我想创build会议多个login相同的帐户现在我正在为任何特定的用户存储唯一的会话string现在我的问题是,当我使用快速会话,然后在其文档页面input链接描述在这里提到 警告:默认的服务器端会话存储器MemoryStore故意不是为生产环境而devise的。 它会在大多数情况下泄漏内存,不会通过单个进程扩展,而是用于debugging和开发 现在我的问题是,因为我正在创build一个应用程序的业务,如果我不使用,如果我不使用,那么什么是最好的存储会话,我已经听说redis,但我也听说,它消耗了很多内存,这就是为什么可以任何人都可以放一些这个我会很大胆的。

如何用expressJS创build一个nodeJS模块

我正在做一个nodeJS模块,我想用expressJS作为它的框架。 我想看看,我怎么可以通过,其中包括一个函数和app.get(); 并通过另一个文件(如实际的应用程序)调用它。 var express = require("express"); var app = express(); app.get("/", function (req, res) { exports.type = function (text) { console.log(req.ip); console.log(text); } }); 现在当我使用这个,我打电话给实际的应用程序,如: var web = require("directory_to_file"); var express = require("express"); var app = express(); var http = require("http").Server(app); app.get("/", function (req, res) { web.type("Hello, world"); }); http.listen(10022, function () { console.log("server […]

奇怪的返回JavaScript正则expression式无标志'g'

代码= DAK~ 800 SUB~10/21/2015 CAK~10/21/2015 我只想得到800 当我使用这个正则expression式: code_fix = match(/([0-9]){3}/g)返回= [ '800', '201', '201' ] 但是当我尝试使用没有标志g的正则expression式为什么是我的结果看起来像: [ '800', '0', index: 21, input: 'DAK~ 800 SUB~10/21/2015 CAK~10/21/2015' ]

使用fs将上传的图像重命名为multer

当用户上传一张图片 – 我使用的是一个名称包含一个空格的方式 – 我想用"-"replace空格,然后将文件名保存到我的Mysql表中,然后重命名file upload到新的名称与"-" 。 这是我的代码。 它会重新命名并且Mysql表格会使用连字符保存新名称,但由于某种原因图像不会被上传,甚至没有错误,事实上POST请求实际上是成功的。 router.post('/uploadpost', upload.single('image'), function(req, res){ var name = req.file.originalname; var reName; if(/\s/g.test(name)){ reName = name.replace(" ", "-"); fs.rename(req.file.path, reName, function(err){ if(err){ throw err; } }); }

NodeJS / Express:如何获得提交的表单的types?

如果使用enctype属性(例如enctype = multipart / form-data)发布HTML表单并将其提交到Express路由,那么如何从路由或中间件访问该enctype值? 我在Express 4.x上。