问题标签 [express-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node Express Router can't get response params
I can not retrieve route parameters with a simple express.Router() in an web app.
Here is a minimal example:
I don't get any error, the res.params
is simply empty when I try to reach:
http://localhost:3000/hello/100 for example.
Here is the response:
What I have tried so far is to set express.Router({ params: 'inherit' })
as told here: https://github.com/expressjs/express/issues/2151#issuecomment-44716623 but it doesn't change anything.
And here is the manual: http://expressjs.com/en/guide/routing.html
node.js - 如何在 NodeJS 中使用隐含的函数参数
在我网站的路由文件中,我有这样的功能:
验证函数如下所示:
如果我想将参数传递给验证器函数(比如我要验证的表单的名称)除了隐含req,res,next
的,那是怎么做的?我已经在控制器中尝试过,ctrl1.validate(formName)
但都没有工作。ctrl1.validate(formName, req,res,next)
function(formName, req,res,next)
javascript - 承诺不返回任何数据以获取返回
我正在构建一个使用猫鼬访问数据库的快速路由器。我当前的问题依赖于这段代码:
resetPassword 使用以下猫鼬调用:
出于某种原因,我的路线被调用并且响应很好(检查了console.log(response)
内部承诺)。
我的问题是响应永远不会发送回客户端,这会使 fetch 调用超时。
为什么我的承诺不返回数据?
azure - 将现有 ExpressRoute 添加到现有 Azure Fabric 群集
我创建了一个没有 ExpressRoute 的 Azure Fabric 群集,没有任何网关。使用所有默认选项从 Azure 门户创建。现在,我的结构集群服务无法访问本地服务器。我知道我需要为此设置 ExpressRoute。我们已经为另一个结构集群创建了快速路由。
我可以重复使用相同的现有 expressroute 吗?如何使用其他结构群集使用的现有 ExpressRoute 更新我的结构群集?
javascript - Express.js 内部,app 对象上的挂载路径存储在哪里?
我面临一个非常具体的用例,在迭代应用程序对象时,我需要访问各种快速子应用程序的挂载路径。
示例代码:
我在任何地方都没有找到
node.js - 注册路由后,所有路由都调用 Express.Router 中间件
我有一个简单的应用程序,它有一个登录页面和一个用于经过身份验证的用户的部分,未经身份验证的用户从中被重定向回登录。在我所有的路线结束时,我有app.all('*', ...)
返回 404 错误页面。
当我通过身份验证时,一切正常,但如果我注销并尝试获取不存在的路由,我将被重定向到登录页面,而不是得到 404 响应。
我知道这是因为我添加了处理重定向的中间件,但我希望它只能在那个确切的路由器中指定的路由上工作 - 而不是在中间件之后放置的所有路由(甚至是应用程序级的路由)中。
我目前看到的唯一解决方案是在每个受限路由中使用这个 authCheck 中间件,而不是使用全局注册它,router.use
但我仍然想知道是否有更好的方法?
感谢您的任何想法..
angularjs - Express JS 多路由文件不起作用
我使用 AngularJS 和 NodeJS 作为后端。我有 2 个路由文件 - route1.api.js和route2.api.js。它们在server.js中的使用如下:
route1.api.js和route2.api.js具有类似的代码,如下所示:
我正在从 2 个不同的 Angular 数据服务文件访问这些路由:
在route1.data.service.js
在route2.data.service.js
现在,问题是route1工作正常,但route2不是。postRoute2 ()方法仅适用于console.log()行,但不能超出此范围。可能是什么问题呢?
route2.api.js代码:
node.js - 如何在跟踪参数的同时链接 Express 路由器?
我正在使用 express 4.16 并且我试图保持我的代码整洁,所以我正在使用路由器功能。我知道我们可以链接路由器。让我们看这个例子:
./server.js:
./routes/user.js:
./routes/cars.js:
所以现在我们可以打电话https//server.com/users/42
来获取用户https//server.com/users/cars/42
信息和汽车信息。但这并不是我真正想要的,在这种情况下,ahttps//server.com/cars/42
会更合适。相反,如果我们想要实现这个 urlhttps//server.com/users/42/cars
来获取所有用户 42 的汽车,或者https//server.com/users/42/cars/42
获取用户 42 的特定汽车怎么办。你如何告诉 Express 的路由器你也想要'users/:id'
?
这可能吗?如果可以,我们该怎么做?或者在这个例子中,我应该只在同一个文件中编码用户和汽车路线,并停止分成几个 .js 文件。
node.js - Express 中间件 JWT 添加多个身份验证路由
我正在做一个项目,我需要通过 JWT 对用户进行身份验证,我为管理员、用户、客户等每种类型的用户创建了一个路由中间件。
现在,如果客户部分中的某些 API 并且我需要允许客户和管理员使用它,那么当客户请求时它可以工作并且当管理员请求时它也应该工作。我怎样才能做到这一点?我需要做的很可能是这样的:
如何在中间件路由中添加类似 OR 的操作,并且任何返回该next();
函数的人都应该验证并忽略另一个。
node.js - 在快速路线上渲染反应组件
我有一个使用快速服务器和create-react-app
前端的应用程序。结构看起来像这样。(不包括结构中的所有文件 - 只包括重要的文件)
我的 index.js 文件正在启动快速服务器,如下所示-
服务器端的路由文件如下——
我的 app.js 文件
在我的客户端,我主要关注的文件是landing.js,如下所示。
在上面的组件中,我关心的是a
导致要么/steam
或/github
快速路由的标签,这是故意的,因为我想重新加载页面并且在页面上我只获取res.send
数据,这是有道理的,因为这是一个快车路线。但我想在路线上渲染我的steam
组件。/steam
(与 github 相同)。我希望我BrowserRouter
的 inApp.js
会根据路由更改组件,但事实并非如此。我是,只获取快递数据。如何在路线上呈现我的Steam
反应组件。express
'/steam'
显然,我正在以奇怪的方式混合服务器和客户端。