Javascript 页面仅在手动刷新时导航
我似乎在MEAN stack应用程序中遇到了一个奇怪的问题:应该导航到另一个页面的Javascript 页面仅在手动刷新时导航,javascript,angularjs,mean-stack,Javascript,Angularjs,Mean Stack,我似乎在MEAN stack应用程序中遇到了一个奇怪的问题:应该导航到另一个页面的锚定链接没有这样做。相反,它会更改URL框中的URL,但用户必须手动刷新才能显示新页面 /routes/welcome.js(Node.js路由): /landing.ejs(这是主页面。用户从这里开始): 假设用户位于localhost:3000并且当前正在查看landing.ejs页面。如果他/她单击“登录”链接,URL框中的URL将更改为localhost:3000/welcome,但实际页面保持不变,就好像
锚定链接没有这样做。相反,它会更改URL框中的URL,但用户必须手动刷新才能显示新页面
/routes/welcome.js
(Node.js路由):
/landing.ejs
(这是主页面。用户从这里开始):
假设用户位于localhost:3000
并且当前正在查看landing.ejs
页面。如果他/她单击“登录”链接,URL框中的URL将更改为localhost:3000/welcome
,但实际页面保持不变,就好像什么也没发生一样。但是,当用户右键单击并刷新页面时,页面将变为welcome.ejs
。为什么我必须刷新?试试看
<a ui-sref="welcome">Login</a>
结果是,$locationProvider
弄乱了链接,链接和$locationProvider
存在已知问题,chrome开发控制台中是否有任何内容?您可能还想尝试(在url之前使用/#!/)您在这里尝试实现什么?您有一个服务器端路由/welcome
和一个客户端路由/welcome
。。。如果你想在angular应用程序中导航到状态welcome
,你必须导航到#welcome
这里实际上不需要服务器端路由,我只是添加了它,以避免出现“你没有提供足够的信息”的评论。有两种导航方式,一种是嵌入在现有页面中,另一种是不同页面之间的导航(比如从google.com到yahoo.com)。我试图在这里实现后者。这会产生一个奇怪的错误:无法从控制台中的状态'
解析'/welcome'。
<html>
...
<body ng-app="myapp">
<div ui-view="container" class="head-container">
<a href="/welcome">Login</a>
...
</html>
var app = angular.module(“myapp.controllers.auth", [
"ui.router"
]);
app.config([
"$stateProvider",
function($stateProvider) {
$stateProvider.state("welcome", {
parent: "root",
url: "/welcome",
templateUrl: "welcome",
controller: "AuthController",
})
}
]);
<a ui-sref="welcome">Login</a>
<a href="/welcome">Login</a>