Tag: 路由

为什么req.params返回'undefined'?

我有一个简单的评论应用程序,使用户可以通过表单向系统input评论,然后login到页面底部的列表中。 我想对其进行修改,以便用户在创build评论标题后可以点击它,并加载与该评论相关的关联内容。 我已经在app.js中修改了我的路线来查找:id : 并且还修改了我的主要Show.jspath以使用id作为findOne命令中的参数来查找评论。 我还放了一个console.log()命令来注销req.params.id var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); var Comment = mongoose.model('Comment', Comment); router.get('/', function(req, res) { Comment.findOne({ id: req.params.id }, function(err, comment){ console.log(req.params.id) }); }); module.exports = router; 但是,我所得到的只是我terminal中一个undefined消息。 如果我把console.log()直接放在我的app.js中,我会得到预期的id。 app.use('/:id', function(req,res) { console.log(req.params.id) }); 我在我的路线中错过了一些东西,阻止我得到ID参数?

表示4个参数条件

我想要有以下路线: // Services without csrf() router.get('/user/:uid', userRes.findUser, userRes.GETUser); router.post('/user/:uid', userRes.findUser, userRes.POSTUser); // Rest of routes, with csrf() router.use(csrf()); router.post('/user/subscribe', indexRes.POSTSubscribe); 但是这里发生的是POST /user/subscribe匹配第二条路线。 我一直在阅读Express路线参数条件,但它显示如何过滤数字。 我想过滤“订阅”path: 有没有机会?

带有expressjs的回叫路线

请,我需要弄清楚为什么外部callback(在diff文件中定义)分配给一个路线 app.get('/list', routes.list); 它正在工作,如果我定义 var router = express.Router(); router.get('/list', routes.list); callback停止工作。 谢谢。

快车,如何使路线处理空参数?

如何指定一个参数可以为空的路由? 例如/:one?/:two? 处理/1/2 ,但不处理//2 ,我该如何做一个路线来抓住两个uris?

node.js彼此链接路由

我对node.js的路由有点问题。 我pipe理这些路线(获取和后)在名为路由的文件夹。 现在我想从另外一个path调用其他path。 我能怎么做?

快速路由器与子路由器

假设父模块有一个使用公共请求的路由器 父模块 app.get("/speakers",… app.get("/agenda",… etc. 另一个通配符路由实际上将请求委托给子模块,以处理父模块不需要知道或关心的所有嵌套操作。 app.all("/admin/*/*" //delegates task to another module 子模块 子模块收到pipe理请求,但它必须处理所有的URI,路由和参数 喜欢 /admin/login /admin/dashboard/events /admin/dashboard/events/1 //could go deeper 如何在这个嵌套级别有另一个级别的路由parsing或引擎?

节点expression:在一些路由上404,但不是其他

所以我有一个问题,我的一些express.js(v3.2.0)路由返回一个404状态码,而其他的则不是。 我不知道为什么有些路线工作正常,而其他路线没有解决。 任何帮助将不胜感激。 server.js: //npm packages var express = require('express') , app = express() , server = require('http').createServer(app) ; if(process.env.NODE_ENV == 'production') require('newrelic'); //local resources init = require('./lib/init'); ctrl = require('./lib/ctrl') //external async resources (global variables) init.setup(function(){ //configure express _util.configExpress(__dirname, app, express); // create a new AI classifier // // Arguments // ——— // modelType […]

维护和组织ExpressJS路由

NodeJS和Express是PHP的新手。 我一直在关注如何使用Express构buildWeb应用程序的在线教程,这让人大开眼界。 所以我决定只用JavaScript来开发一个项目。 问题是在Express中添加了一些路由定义之后,我无法跟踪我的Express路线,并担心随着时间的推移会变得更大。 目前我有近45行(是的,我有很多的路线,一些服务的HTML模板文件和其他只是返回JSON Angular的前端)。 有没有更好的方法来处理这个问题呢?

Express.jsdynamic路由

我正在尝试使用Node.js和Express.js来制作小型CMS,我想知道什么是dynamic路由模块的最佳方法。 我可以理解一些红色文件,有些我无法理解。 什么是正确的方法来做到这一点? 如果一个用户(通常是站点pipe理员)制作一个静态页面,论坛和一些命名的模块都不一样: staticPage QnAforum andAnythingUserNamed 我想两种方式来路由此页面, 第一 :我认为这是理智的方式,URL是干净的,但可以减less页面加载速度。 app.get(/:module, function(req, res, next){ … // if req.params.modules == (login || logout …) // handle it // else if // module.find()… and render… }); 第二 :如果我把模块用户分离出来,我觉得URL比较复杂,但比上面的方式更快。 app.get(/forum/:id, function(req, res, next){ … // forum.find({forum_id: req.params.id})… }); app.get(/staticPage/:id, function(req, res, next){ … // staticPage.find({staticPage_id: req.params.id})… }); 有没有一个正确的方法来使用更清洁的URL,并快速加载?

Angular $ http GET不传递string到后端。 未定义?

我试图通过Mongoose使用.find()来获取基于item_id(不同于MongoDB分配_id)的特定项目。 但是,没有任何东西传到后端。 我的路由文件中的console.log(item)返回一个空对象。 该项目看起来像这样: var item = { item_id : "String Identifier", desc: "String Description about item" } 我的angular度控制器: // itemCtrl.js App.controller('itemCtrl', function($scope, $stateParams, $http) { $scope.item= $stateParams.itemId; $scope.getItem = function(){ $http.get('http://localhost:3000/items/:itemId', $scope.item) .success(function(data){ console.log("Grabbing a single item with id " + data.item_id); $scope.item= data; }, function(err){ console.log(err); }); }; }); 我的Express后端路由: // Item-Route.js var […]