【问题标题】:Angular URL parameter being removed in chrome在 chrome 中删除 Angular URL 参数
【发布时间】:2015-12-09 22:15:45
【问题描述】:

我使用 Angular 的 ui-router 在 Angular 中创建了一条路径。问题是,只有在 chrome 中,当我去:

http://localhost:9000/#/test-app/app/123

Chrome 删除了我的参数并将我带到http://localhost:9000/#/test-app/app 这在任何其他浏览器中都不会发生。我需要在我的解析语句中使用该参数。

我只需要 :id 的 123。 Chrome 不给我,但 safari 和 firefox 给我。 Chrome 只能在隐身模式下工作。

  .state('root.user-by-id', {
    url: 'test-app/app/:id',
    templateUrl: 'template.html',
    controller: 'DetailViewCtrl',
    controllerAs: 'detail',
    resolve: {
      puzzleById: function($stateParams, userAPI) {
        return userAPI.getUserByID($stateParams.id)
      }
    }
  })

【问题讨论】:

    标签: javascript angularjs parameters angular-ui-router


    【解决方案1】:

    试试:

    .state('root.user-by-id', {
       url: '/test-app/app/:id',
    

    实际路由前的斜线可能会导致问题

    【讨论】:

    • 不走运,它只会让我回到根源。
    【解决方案2】:

    编辑:对不起,我最初误读了这个问题。

    我担心您的路线没有前面的“/”。我希望您的 url 定义类似于:

    url: '/test-app/app/:id'
    

    你能发布你类似的路线吗?在尝试评估 URL 和状态时,您的客户端可能会错误地匹配不正确/无效的路由。

    【讨论】:

      猜你喜欢
      • 2016-02-29
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多