【问题标题】:angularjs route to match $window.locationangularjs 路由匹配 $window.location
【发布时间】:2017-07-23 10:48:04
【问题描述】:

我想使用 angularjs $window 重新加载具有不同 html 页面的页面,文档说:

页面重新加载导航 $location 服务只允许您更改 URL;它不允许您重新加载页面。当您需要更改 URL 并重新加载页面或导航到不同的页面时,请使用较低级别的 API,$window.location.href。

所以我将位置设置为页面$window.location.href = '/transaction';

以及config块上的匹配路由:

app.config(function($routeProvider) {
    $routeProvider
    .when('/transaction', {
        templateUrl : 'JavaScript/directives/modelHTML/Transaction.html',
        controller : 'endProcessModelController'
    });
});

但是在 Transaction.html 页面中,我收到错误 404: SRVE0190E: File not found: /transaction 的路由 mydomain.com/UI/transaction

顺便说一句 - templateUrl url 在 UImodel 等其他地方工作正常,所以问题是我认为的导航。

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

将位置设置为页面$window.location.href = '#/transaction';'#' 表示起始页的位置,通常是 index.html。所以链接将是index.html#/transaction。因为它是一个单页应用程序

我认为在你的配置中

'/UI/transaction'  instead of  `/transaction`

在链接中做$window.location.href = '#/UI/transaction'

【讨论】:

  • 包含 angular-ui-route ?
  • 它总是对我有用,你做错了什么吗?
  • 喜欢吗?我发布了所有过程。需要更多的代码吗?
  • 尝试 mydomain.com#/transaction 会得到什么
  • 现在我认为您的索引位于 mydomain.com。所以去配置而不是'/transaction'使用/UI/transaction
【解决方案2】:

mydomain.com/UI/transaction 地址是否正确(您使用的是 html5 模式)?

直接输入mydomain.com/UI/transaction是否出现问题?

如果是这样,问题是错误的服务器配置(例如 .htaccess 文件)。

【讨论】:

    【解决方案3】:

    试试这个

    $location.path($window.location.origin +'/transaction');

    如果你觉得所有的路线在原点之后都有额外的东西,你可以为此设置一个 <base href="..."> 并告诉 angular 从哪里获取剩余的文本量以用于路线目的。

    如果您使用your_origin/transaction 重定向页面,您的浏览器将向/transaction 的服务器发出请求,服务器将无法理解并出现404。但是路由是客户端(浏览器)路由,所以如果您要路由到路由/abc,您的 javascript 代码正在解释它,并调用相应的操作,(可能是对 html 模板或某些数据依赖项的服务器的不同调用,然后实例化控制器并附加到视图)。因此,当您尝试路由您的 javascript 代码时,应该加载。

    您要么选择 ui-router,其路由位于 # 之后,这允许浏览器在 (#) 的文本之后播放,而不是重新加载。

    或者,让您的服务器采用这种方式,如果有一个未识别的请求,您应该返回基本(索引)页面,这样它将加载所有脚本,其余的由 js 完成。 (但显然你会丢失该状态下的所有现有数据)

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2017-12-26
      • 2018-10-04
      • 2012-07-13
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多