Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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_Angular - Fatal编程技术网

Javascript 如何在路由中使用URL?

Javascript 如何在路由中使用URL?,javascript,angular,Javascript,Angular,我希望人们能够访问: http://example.com/report/http://yourdomain.com 在这个URL上,我的angular2应用程序将生成一个关于用户域的报告。我希望它能像这样工作,这样非技术用户就可以轻松地输入它 在我的应用程序中,我使用以下路径: { path: 'report/:url', component: MyReportComponent } 如果管线中有任何正斜杠或句点,则此选项无效 如果我对冒号和前斜杠进行编码,我可以使用导航(encodedUr

我希望人们能够访问:

http://example.com/report/http://yourdomain.com

在这个URL上,我的angular2应用程序将生成一个关于用户域的报告。我希望它能像这样工作,这样非技术用户就可以轻松地输入它

在我的应用程序中,我使用以下路径:

{ path: 'report/:url', component: MyReportComponent }
如果管线中有任何正斜杠或句点,则此选项无效

如果我对冒号和前斜杠进行编码,我可以使用
导航(encodedUrl)
,它会工作,但如果我尝试直接访问编码路径,则除非我删除句点,否则它不会工作

对于我的报告,我更希望有协议,但我发现甚至试图获得
http://example.com/report/yourdomain.com
由于周期原因无法工作

如果我做了
http://example.com/report;yourdomain.com
如果我通过Navigate()移动到它,我可以将ok作为查询参数读取,但如果用户直接键入句点或尝试
http://example.com/report;http://yourdomain.com
它不起作用。此外,分号对大多数用户来说似乎很奇怪(如果它可以输入的话)

我在其他网站上也看到了这种可能性,例如:这个url很好用


我是不是遇到了Angular2s路由的限制,或者有什么方法可以实现?当然,至少有一种方法允许参数中有句点

,像
/report/url.com
那样处理它不是更容易/更干净吗?i、 e我在我的帖子中提到,它不起作用。任何带有句点的路由对我来说都不起作用,除非它是一个查询参数。你想集成页面,然后转到iframe。我不明白iframe是如何在浏览器上允许该路由的,它正在使用一个名为“url”的url编码参数实现GET请求,该参数带有值。当然,您知道这是实现GET请求的标准方法之一(仅从服务器检索数据)。我不习惯使用Angular,但肯定有一种非常标准的方法可以从url检索该参数。