Javascript 如何从参数中获取url
我在路由中的一个参数实际上是一个urlJavascript 如何从参数中获取url,javascript,node.js,Javascript,Node.js,我在路由中的一个参数实际上是一个url router.get('/api/sitemap/:url', function(req, res) { var url = req.params.url; ... } 当:url实际上是一个类似“”的链接时,如何允许进行此操作 我得到一个404错误,我理解为它没有正确链接,无法处理,因为它有错误 提前感谢。您的路由器返回404,因为它无法识别路径。 您应该按照注释中的
router.get('/api/sitemap/:url', function(req, res)
{
var url = req.params.url;
...
}
当:url实际上是一个类似“”的链接时,如何允许进行此操作
我得到一个404错误,我理解为它没有正确链接,无法处理,因为它有错误
提前感谢。您的路由器返回404,因为它无法识别路径。 您应该按照注释中的建议对url参数进行编码,或者将其进一步切片,如下所示:
.get('/api/site/:domain/:file',cb)
问题是,如果你也通过了协议,你就必须与之匹配
现在没有控制台可供尝试,但我认为您可能可以传递通配符:
'/api/sitemap/*'
您必须自己解析url,但很简单:
var url = req.url.substr(14);
(不确定索引上的地址是13还是14,因为我在手机上,所以要算人手:-)。这个端点的完整URL示例是什么样的?您是否正确编码URL参数?我想不是。请注意这个问题。我的url是,似乎不管怎样都会抛出错误。如果您尝试
http://localhost:3000/api/sitemap/domain.com%2Ffile.xml
?我猜如果您遇到404错误,这意味着服务器无法找到URL的路由。