角度2& url中的lite服务器点导致找不到404

时间:2016-04-13 14:21:45

标签: url angular http-status-code-404 lite-server

我正在使用Angular2 Beta 14并且调用带有“dot”的URL会导致从lite服务器发现404错误,即2.2.0。

这是我正在呼叫的网址:

http://localhost:3000/confirmuser/token/eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjYsInVzZXJOYW1lIjoiYXNkZmFzQGNlZC5saSJ9.PMzNWp8mbUKbSAiOqhOqjhZUYNejXY3pIQueBkc8_2E

app.component.ts中的路由器路径如下所示:

{path: '/confirmuser/token/:token', name: 'ConfirmUser', component: ConfirmUserComponent}

Chrome控制台显示:

Failed to load resource: the server responded with a status of 404 (Not Found)

Ant Lite服务器:

[1] 16.04.13 15:57:13 404 GET /confirmuser/token/eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjYsInVzZXJOYW1lIjoiYXNkZmFzQGNlZC5saSJ9.PMzNWp8mbUKbSAiOqhOqjhZUYNejXY3pIQueBkc8_2E

当我在没有“点”的情况下调用网址时,页面会正确加载。

我的目标是确认用户注册。他收到一封包含他必须确认的URL的电子邮件。在这个(和其他情况下)使用JWT是我一直在使用的习惯。

现在我怀疑这是一个Angular问题,我相信这是一个简单的服务器问题。

有人有这方面的经历吗? 感谢

3 个答案:

答案 0 :(得分:0)

我找到了适合此问题的解决方法。 基本上我已经摆脱了路径参数":token"并用查询参数替换它

在app.component.ts中,新路径现在如下所示:

{path: '/confirmuser', name: 'ConfirmUser', component: ConfirmUserComponent}

这样的网址:

http://localhost:3000/confirmuser?token=eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjYsInVzZXJOYW1lIjoiYXNkZmFzQGNlZC5saSJ9.PMzNWp8mbUKbSAiOqhOqjhZUYNejXY3pIQueBkc8_2E

在处理此请求的组件中,我可以像以前一样继续调用route params。所以没有什么可以改变的:

constructor(params: RouteParams){
  this.token = params.get('token')
...

答案 1 :(得分:0)

此问题已在https://stackoverflow.com/a/36283859/1465640@

中得到解答

但是可以用点汇总,除非你在lite-server config 上做一些工作,否则点在URL中不起作用。

答案 2 :(得分:0)

如果您使用的是webpack,则需要更改配置以使其正常工作。 请在webpack dev服务器配置文件中进行更改

historyApiFallback: {
      disableDotRule: true
    },