gpt4 book ai didi

javascript - 使用路由参数直接链接到 URL 会破坏 AngularJS 应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:40 27 4
gpt4 key购买 nike

当我直接链接到一个后面有参数的页面时,我遇到了问题。来自页面的链接有效。我正在开发一个博客应用程序。

localhost/blog 加载正确。在该页面上,我有一个指向 localhost/blog/name-of-article 的链接。该链接将正确加载。问题是当我刷新/blog/name-of-article 页面或直接转到它时。它会破裂并且不会加载任何东西。

chrome 中的 Javascript 控制台仅针对所有 javascript 文件给出错误“Uncaught SyntaxError: Unexpected token <”。当 url 有一个尾随/时,我也遇到了这个问题,这似乎是 angular 的常见问题。虽然不确定它是否相关。

我路线的相关部分。

app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider){

$routeProvider.
when('/',{
templateUrl: '/partials/home.html',
controller: 'HomeController as HomeCtrl'

}).
when('/home',{
templateUrl: '/partials/home.html',
controller: 'HomeController as HomeCtrl'
}).
when('/blog',{
templateUrl: '/partials/blog.html',
controller: 'BlogController as blogCtrl'
}).
when('/blog/:name', {
templateUrl: '/partials/article.html',
controller: 'ArticleController as articleCtrl'

}).
otherwise({
redirectTo: '/'
});

$locationProvider.html5Mode(true);

}]);

我正在为服务器使用 Node/Express,为 Angular 应用程序使用 api。

app.use('*', function(req, res){
res.sendFile(__dirname + '/public/index.html');
console.log('page loaded');
});

我还有/api/contact 和/api/article 的路由。

最佳答案

弄清楚发生在我身上的事情。当有尾部斜杠或额外参数时,我能够看到 Angular 应用程序正在从不同的路径向服务器发出请求。/blog/article 正在请求/blog/javascripts 、/blog/stylesheets 等中不存在的所有文件。

添加

<base href="/index.html">

index.html 文件解决了这个问题。

在此处的答案中找到 Reloading the page gives wrong GET request with AngularJS HTML5 mode

关于javascript - 使用路由参数直接链接到 URL 会破坏 AngularJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416655/

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