问题标签 [dynamic-routing]

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.

0 投票
1 回答
1706 浏览

reactjs - NextJs与动态路由——空参数场景如何处理?

我试图在不使用查询字符串的情况下检索 url 参数,例如,http://localhost:3000/test/1这是我目前所拥有的:

目录结构

索引.jsx

它有效,但如果我省略 pageNumber 参数,我得到的只是 404 页面,这是我们在使用查询字符串时没有的问题。

现在,问题是:是否可以在不创建额外的 index.jsx 页面和复制代码来处理空参数场景的情况下对其进行排序?

0 投票
0 回答
356 浏览

url-routing - laravel - 动态路由组前缀作为角色

我想在登录后使用,用户输入 laravel 路由组前缀。但我没有找到一个完美的方法来做到这一点。

例如:我有三种用户类型-

我想制作一个动态路由前缀,例如:

我正在尝试使用帮助文件执行此操作

//获取url前缀helper.php的部门名称

在这里,我无法在帮助文件中获取身份验证详细信息,这是我的路由组中身份验证中间件的原因

网页.php

当我在帮助程序中传递静态部门 ID 时,这里所有的东西都正常工作,但是如果我尝试登录用户部门,我会收到以下错误


ErrorException 试图获取非对象的属性 'department_id'

0 投票
2 回答
4254 浏览

subdomain - NextJS 的动态子域路由

NextJS 中如何实现动态子域路由功能?

abc示例:如果用户在站点中带有用户名,xyz那么他可以访问他的站点abc.xyz.com

此外,如果用户有abc.com域,那么他可以在将来指向abc.comSo abc.xyz.com ,如果有人打开abc.com然后abc.xyz.com提供服务。在 URL 中也abc.com显示了。

我调查了 NPM 中的几个插件,如 vhost 和通配符子域,但不确定这是解决这个问题的正确方法。

vhost 需要hosts在本地系统中更改系统,而通配符子域纯粹通过路由解决了这个问题。

本地系统设置我已经使用临时工作的代码自定义了Server.js,但似乎不是可以在生产中使用的解决方案:

服务器.js

_app.js

在我的主人中,我也有demo.demo.com一点localhost

该站点适用于我,demo.demo.com:3000但如何使用数据库和CNAME记录在生产场景中对其进行概括,并使用用户操作自动添加/更改 CNAME 记录。

0 投票
2 回答
3135 浏览

next.js - 如何使用 Next.js router.push 到 Formik 的动态 api 路由,得到 404(未找到)错误

我正在使用 auth0 nextjs-auth0库来处理 next.js 应用程序的注册和身份验证。我还使用Formik来处理输入数据和验证。我想通过 Formik 将电子邮件地址提交到 Next.js api 路由。

当我使用 Nextjs 的useRouter钩子导航router.push到 api 路由时,它按预期工作,因此我的数据被传递到 api 路由并且 nextjs-auth0 按预期重定向用户。但是,在重定向浏览器控制台之前会闪烁以下错误:

在此处输入图像描述

我应该忽略这个错误吗?是否有可能router.push仅用于客户端重定向我正在尝试导航到 api 路由,这不是应该如何完成的?注意,我的/signupapi 路由使用 auth0-nextjs 代码并将用户重定向到 auth0 的身份验证页面。相关代码如下。

注册api路由:

导入 useRouter 钩子:

Formik 的验证功能:

Formik 提交的处理函数:

Formik 组件(注意,使用 <Button 组件是Chakra-ui组件):

0 投票
1 回答
206 浏览

firebase - 基于 Firebase 数据的 Nuxt 动态路由

我在 Netlify上托管了一个SPA 模式的Nuxt应用程序。我正在使用Firebase验证和存储用户数据。

我想在动态路线上显示所有用户个人资料。例如

(其中“martcube”是documentid)

对于给定的技术堆栈,这甚至可能吗?如果您需要额外的代码或信息,请写信给我,我会立即编辑我的问题。

0 投票
1 回答
261 浏览

python - (初学者)Flask 动态路由不起作用

我刚刚开始学习Flask,但我什至无法完成这个初学者步骤。我试图制作dynamic URL如下路线,但是当我去http://127.0.0.1:5000/home例如,它说"NOT FOUND"。任何帮助表示赞赏!

0 投票
1 回答
2756 浏览

javascript - ExpressJS:在运行时动态添加路由

我希望能够在运行时添加新路由,而无需使用 NodeJS 和 ExpressJS 重新启动服务器。我在这篇文章中做了一个类似的方法:https
://alexanderzeitler.com/articles/expressjs-dynamic-runtime-routing/从技术上讲,我同样可以在文章中在运行时添加新文件和逻辑,但问题是当没有匹配 api 路由时,我将发送一个 404 JSON 响应(因为它应该是)。

我认为我遇到的问题是我的动态创建的路由永远不会到达,因为静态路由优先于动态创建的路由。这意味着创建的路由将在错误处理后挂载,因此永远不会到达。我在app.js中的代码

当我注释掉错误处理时,我能够访问我在运行时创建的路由,而通过错误处理,我只能在服务器重启后访问我想要避免的动态创建的路由。
查询参数无法解决问题,因为动态添加的路由在逻辑、模型属性、http 方法/动词和 API 端点上有所不同。例如
GET/POST /api/{endpoint}
GET/POST /api/foo/{endpoint}
GET/PUT/DELETE /api/foo/bar/{endpoint}/:id

我想我基本上需要:
1)找到一种在错误处理之前挂载动态创建的路由的方法 - 我目前遇到这种情况或
2)修改路由堆栈 - 我读过这是不切实际的、缓慢的、不好的做法和容易出错
的 3)找到替代解决方案

我希望有一个人可以帮助我。
在此先感谢

编辑
这是创建新路线的代码。相关端点是 POST 方法中的 /api/databases/

片段中的控制器只是一个模块化控制器文件,它处理我对不同模型的所有端点的所有 CRUD 操作。每条路由都分为模型、控制器和路由,以分离和更好地维护它们的逻辑。

在 POST 方法中,我首先检查要创建的端点是否已经存在。如果是这样,我会以 422 响应,表明端点已经存在。如果它不存在,我会在数据库端点中创建一个带有模块化控制器的条目,并为应该创建的端点创建一个模型、控制器和路由。

创建逻辑如下:

在这里,我基本上将数据从 POST 方法传递到异步创建的模型、控制器和路由文件。创建所有文件后,我将端点路由安装到应用程序。挂载路由的逻辑是:

创建的路由可能如下所示:

checkAuth 包括一些用于授权/身份验证的逻辑。

该代码几乎完成了我想要它做的事情,只是我不知道如何在错误处理之前处理路线的定位。

0 投票
2 回答
3227 浏览

image - VueJS 中的动态名称路由/动态路由匹配

我有一些产品正在被迭代和展示。我想使用产品的图像作为每个产品特定页面的链接。我希望每个产品页面都从同一个模板中提取,用适当的产品详细信息替换道具。

产品的示例 url 类似于:/shop/product/name-of-product

以下是相关代码:

路由器/Index.js

0 投票
3 回答
6820 浏览

next.js - nextJS SSR useRouter() 在刷新页面时不起作用

我在我的项目中使用 nextJS SSR。现在,当我尝试使用以下代码获取页面参数时,它显示未定义。

当页面从其他页面路由时它可以工作(没有使用“下一个/链接”重新加载页面)但是当我刷新页面时它不起作用。有人可以帮忙吗?

0 投票
1 回答
119 浏览

vue.js - 使用Vue js动态路由匹配从一个配置文件/:id到另一个问题

我的路线是:

我也有 <router-link> :to="{name: 'app-user-view', params: { userId: $route.params.userId [+1] }}"</router-link> 我想带我去下一个用户(user/1 到 user/2)

<router-link> :to="{name: 'app-user-view', params: { userId: $route.params.userId [-1] }}"</router-link>我想带我去上一个用户(user/2 to user/1 )

但是,它不起作用。我究竟做错了什么?请帮忙。谢谢