什么's使用“:"在URL路径中的名称之前
What's the purpose of using ":" before a name in the path of a URL?
这似乎是一个微不足道的问题,但我已经寻找了一段时间的具体权威答案,但到目前为止还没有结果。
我一直在使用express.js,我看到URL的处理程序具有等路径
app.get("/users/:id", function(req, res) {
res.send(req.params)
})
或
app.get("/users/:name/photos", function(req, res) {
res.send(req.params)
})
但在这些情况下,我不完全确定在id
(或name
)之前使用:
的目的。
我知道,如果我在id
之前使用:
,那么id
将可用作req.params
的参数,即req.params.id
。通常id
是一个整数,但实际上这并不是严格必要的,它可以是其他任何东西(例如字符串)。
我猜测,在URL路径中的名称之前使用:
的原因只是为了表示,我们可以传递任何类型的任何内容,而不是:id
或:name
。CCD_ 13或CCD_。这个猜测正确吗?
处理路由时使用:
的目的是什么?我们应该什么时候使用它?
:
只是将一个命名变量指示为url该部分中的占位符。如果没有它,id
将在url中进行字面匹配,并且不会被解释为动态占位符。这就是它的全部。
你说得对。
CCD_ 18只是用来设置一条路由。它可能是一个!
或@
或其他任何东西。它声明了路由中的一个变量。
在您的代码中:
app.get("/users/:id", function(req, res) {
res.send(req.params)
})
CCD_ 21成为路由。这意味着users/
之后的任何内容都将被该处理程序捕获,并在其内部的id
变量中可用。它不必是整数。
此处:
app.get("/users/:name/photos", function(req, res) {
res.send(req.params)
})
路线定义如下:/users/john/photos/
在这种情况下,john
是与路由集匹配的变量。
相关文章:
- Ajax URL路径未替换当前URL
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- javascript window.location在检查firebug时给了我一个错误的url路径
- 未捕获的InvalidValueError:setIcon:不是字符串;并且没有url属性;并且没有路径属性
- 在angularjs中动态路由url路径
- 为什么html src属性中的相对url是因为Javascript函数中的完整路径
- Angular sqlLite set css url()无法设置相对路径
- 来自URL的Regex URL路径
- 将 MVC 3 应用程序部署到 URL 文件夹已损坏 JavaScript 和内容路径
- 在相对于用户当前 URL 路径的不同路径中设置 Cookie
- 是否存在用于解析 URL 路径段(矩阵)参数的 JavaScript 库
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- 从github url中查找用户、repo和路径
- 我可以使用URL路径提交参数吗
- 将URL路径与<a>attr('href')来动态更新.active类
- 在javascript中更改下拉框时更改路径URL
- Emberjs为一条路由使用多个路径/ url
- 附加路径url到Javascript对象
- React路由器的公共路径url
- 没有获得正确的 URL 路径 - URL 路径是:/favicon.ico