gpt4 book ai didi

javascript - 使用多个 '/' 刷新路由会导致 Angular 出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:28:32 25 4
gpt4 key购买 nike

/home/profile 甚至 / 这样的路由在按下浏览器刷新按钮时可以完美地工作,因为那时,服务器发送默认的 .html 和 Angular 文件(因为下面的服务器代码),然后这些 Angular 文件处理当前网址。

当我在具有多个 / 的路由上按下刷新时,我的问题就出现了(这在使用路由参数时是必需的),例如 /manage/users/user/12345678 ...等。

然后,jQuery 抛出这个奇怪的错误 Uncaught SyntaxError: Unexpected token < ,然后 Bootstrap 开始提示没有得到 jQuery,页面看起来很糟糕,没有化妆......等等。

需要说明的是,当我访问具有多个 / 的路由时,通过使用 Angular 自己的路由器(使用 $state.go('/manage/users')<ui-sref='profile'> 等),这个问题(显然)不会发生,因为 Angular 已经加载到处理那个 url。

但是当我刷新页面时,由于没有 Angular 来处理该路由,浏览器向服务器请求路由,显然,Express 中的 /* 也无法处理该路由。

我通过以下方式从我的服务器提供 .html 文件:

app.all('/*', function(req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.render('index.html');
});

处理所有 API 路由后。 index.html(希望如此)随后加载所有 Angular 文件。

是否有类似的东西:

app.all('**/*', function(req, res, next) { ... });

... 在任何路径下使用任意数量的 / 呈现 html?或者某种正则表达式?

TIA

最佳答案

你必须在你的“头脑”中设置基础

<head>
<base href="/">
...
</head>

关于javascript - 使用多个 '/' 刷新路由会导致 Angular 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36999741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com