【问题标题】:Page redirection not working with AngularJS页面重定向不适用于 AngularJS
【发布时间】:2016-05-16 12:52:41
【问题描述】:

我在我的网络应用程序中使用 angularjs 路由,并且我在 HTML 头中包含了 $locationProvider 和基本标记 <base href="/webapp/"> 以删除 URL 中的井号,当我使用重定向时它工作正常锚标签,例如<a href="/webapp/home">Home</a> 但是当我使用 javascript 重定向时出现 404 错误,例如window.location.href = '/webapp/home';。尝试了一切,但到目前为止没有任何帮助,我们将不胜感激。提前谢谢你。

【问题讨论】:

  • 你能给我们看一些代码吗?
  • 尝试使用 $location.path('/webapp/home');
  • 什么是网络服务器?如果是 nginx,添加一些 loction try_files。检查angular html5mode with nginx
  • 抱歉没有看到 cmets,但我使用的是 apache 服务器,并且已经使用 .htaccess 文件解决了这个问题,谢谢

标签: javascript html angularjs


【解决方案1】:

试试<a href="#/webapp/home">Home</a>

当你使用 angular(JavaScript) 路由时; JavaScript 路由在 URL 中的 # 关键字之后开始,否则浏览器认为这是服务器端路由触发器;否则页面将被刷新。

使用<a href="#/webapp/home">Home</a>

$locationProvider 将在重定向到视图后删除#

【讨论】:

  • 试过了,但它给我的只是 URL 栏中的这个 URL localhost/webapp/#%2Fwebapp%2Fhome 并且没有转到所需的页面
  • 想通了,它都在 .htaccess 文件中,不,你没有在每个 URL 中包含 #,这是我包含的 .htaccess 代码:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ %{ENV:BASE}index.htm [QSA,L]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多