2016-11-07 3 views
0

私は管理パネルとユーザーパネルを開発中です。管理パネルはうまくいき、コードはExpressJsで書かれています。今私はユーザパネルをAngularJsにデザインしたかったのです。私はHTMLページとapp.jsページを作成しました。ページ経路が指定されていても、エラーが見つかりません。

use strict; 

angular.module('myApp', ['ngRoute']).config(['$routeProvider', function($routeProvider) { 

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

    $routeProvider.when('/profile/:userId', { 
     templateUrl: 'profile.html', 
     controller: 'profileController' 
    }); 

    $routeProvider.otherwise({redirectTo: '/home'}); 
    }]) 
    .controller('profileController', function($scope, $http, $routeParams) { 
     $scope.params = $routeParams; 
     $http.get('json_files/record_'+$scope.params.userId+'.json').success(function(response) { 
     $scope.details = response; 
     });  
    }) 
    .controller('homeController', function() { 

    }); 

これは私のapp.jsファイルです。以下は

が見つかりません私のprofile.html私はhttp://localhost:8000/profile/1

としてページにアクセスしようとしている時はいつでも以下のようなエラーを取得しています

<html lang="en" ng-app="myApp" class="no-js"> 
<meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>My AngularJS App</title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <base href="http://localhost:8000/"> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/angular-route/angular-route.js"></script> 
    <script src="app.js"></script> 
    </head> 
    <body> 
     <div ng-controller="profileController"> 
      <table> 
       <thead> 
        <tr> 
         <td>CategoryID</td> 
         <td>CategoryName</td> 
        </tr> 
       </thead> 
       <tbody> 
        <tr ng-repeat="category in categories"> 
         <td>{{category.CategoryID}}</td> 
        <td>{{category.CategoryName}}</td> 
       </tr> 
       </tbody> 
      </table> 
     </div> 
    </body> 
</html> 

要求されていますURL /プロファイルがこのサーバー上に見つかりませんでした。

何が間違っているのか分かりません...または私が間違っていたところ... 親切に何かを提案します。

+0

は、他のルートが –

+0

を働いているんを入れてください可能性home.htmlはUR1にありますが、/ homeは好きではありません –

+0

いずれも、直接アクセスすることが機能していないhttp://plnkr.co/でコードを

<div> Profile page <a href="#/home" >Go to Home page</a> <div> 

app.js

(function() { "use strict"; angular.module('myApp', ['ngRoute']) .config(['$routeProvider', function($routeProvider) { $routeProvider.when('/home', { templateUrl: 'home.html', controller: 'homeCtrl' }); $routeProvider.when('/profile/:userId', { templateUrl: 'profile.html', controller: 'profileController' }); $routeProvider.otherwise({ redirectTo: '/home' }); }]) .controller('profileController', function($scope, $http, $routeParams) { $scope.params = $routeParams; /*$http.get('json_files/record_' + $scope.params.userId + '.json').success(function(response) { $scope.details = response; });*/ }) .controller('homeCtrl', function() {}) .controller('profileController', function() {}) })(); 
Gayatri

答えて

1

あなたのインデックスページにはng-viewがありません。すべてのルートはこのタグに置き換えられます。 https://docs.angularjs.org/api/ngRoute/directive/ngView

index.htmlを

<html lang="en" ng-app="myApp" class="no-js"> 
<meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>My AngularJS App</title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular-route.js"></script> 
    <script src="script.js"></script> 
    </head> 
    <body> 

    <div ng-view></div> 

    </body> 
</html> 

home.html

<div> Home page 

    <a href="#/profile/1" >Go to Profile page</a> 

</div> 

profile.html

は、このリンクを参照してください。あなたはルートの
+0

こんにちは、私はmottieキーボードhttps:// githubを使用しています.com/Mottie/Keyboard。 index.htmlにすべてのjsファイルとcssファイルを追加し、自宅のキーボードにはアクセスしません。html。すべてのスクリプトが正常に動作しています。この問題で私を助けてもらえますか? – Gayatri

+0

jqueryを追加していることを確認してください。 –

+0

問題のために簡単にデバッグできるようにプランカーを作成した場合: –

0

プロジェクトのルートパスを指定してから、「#」を入力する必要があります。

詳細はhttps://docs.angularjs.org/tutorial/step_09を確認してください。

+0

も疲れましたが、私のために働いていませんでした。他の解決策.. please ... – Gayatri

+0

また、 'ngView'があなたのコードで見つからないことに注意してください。 – marcosspn

+0

ありがとう、私はまだ404エラーが来ている追加しました。他の...してください – Gayatri

関連する問題