从当前URL中提取数据并在angularjs中的控制器中使用它

时间:2015-05-14 09:46:40

标签: javascript angularjs html5 url url-routing

我正在开发一个使用angularjs的网站,其中只有1个html页面。我想通过将来自网址的记录ID设为abc.in/1来显示记录。当我尝试从url中提供此ID时,会出现404 not fount错误。但是当我给abc.in#1时它工作正常并显示记录。 我试过了

angular.module('myApp', [
      'ngRoute', 'ngResource', 'ngCookies',
      'myApp.filters',
      'myApp.services',
      'myApp.directives',
      'myApp.controllers',
      'ui.bootstrap', 'ngAnimate', 'ngDragDrop'  //'ngSanitize',
    ]).
    config(['$routeProvider','$locationProvider', function ($routeProvider,$locationProvider) {

     $routeProvider.when('/',
          {
              templateUrl: '/Login.html',
              controller: 'LoginController'
          });

        $routeProvider.when('/:id',
          {
              templateUrl: '/Login.html',
              controller: 'LoginController'
          });

        $routeProvider.otherwise({ redirectTo: '' });

    if (window.history && window.history.pushState) {
                    $locationProvider.html5Mode({
                    enabled: true,
                    requireBase: false
                });                    
            }

在我的app.js和Login.html中(默认情况下,我的应用程序中只有页面)为 -

<base href="/">

头标记。

但是,当我尝试刷新页面时,这只会将abc.in#1转换为abc.in/1,因为 -

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

根据给定的代码,我首先需要在url中提供#1,然后它将转换为/。但我最初想给/1。怎么做?

0 个答案:

没有答案