Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从参数中获取url_Javascript_Node.js - Fatal编程技术网

Javascript 如何从参数中获取url

Javascript 如何从参数中获取url,javascript,node.js,Javascript,Node.js,我在路由中的一个参数实际上是一个url router.get('/api/sitemap/:url', function(req, res) { var url = req.params.url; ... } 当:url实际上是一个类似“”的链接时,如何允许进行此操作 我得到一个404错误,我理解为它没有正确链接,无法处理,因为它有错误 提前感谢。您的路由器返回404,因为它无法识别路径。 您应该按照注释中的

我在路由中的一个参数实际上是一个url

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的路由。