2016-08-09 6 views
1

Ich versuche herauszufinden, warum meine Seite beim Neuladen bricht, wenn die URL bereits ausgefüllt ist. Hier ist ein Link zu einem Video des Problems. https://drive.google.com/file/d/0B7y4F6sYl0HxcnpCa1lhazRCRHc/view?usp=sharingWarum bricht diese eckige App beim Nachladen?

Hier ist der Code verwende ich für meinen app.js und meine index.html

(function(){ 
 
    \t 'use strict'; 
 

 
    \t angular.module('mysteryScience', ['ngRoute']) 
 

 
\t .config(function($locationProvider) { 
 
\t $locationProvider.html5Mode(true); 
 
\t }) 
 

 
\t .config(function($routeProvider, $locationProvider){ 
 
\t  $routeProvider 
 
\t  .when("/", { 
 
\t   redirectTo: function() { 
 
\t \t   return "/app"; 
 
\t \t  } 
 
\t  }) 
 
\t  .when("/app", { 
 
\t   templateUrl : "view1/app.html" 
 
\t  }) 
 
\t  .when("/app/article", { 
 
\t   templateUrl : "view2/article.html" 
 
\t  }) 
 
\t  .otherwise({redirectTo:'/'}); 
 
\t }) 
 

 
\t .controller('MediaController', function ($scope) { 
 
\t  $scope.mediaObjs = [ 
 
\t  \t { 
 
\t  \t \t background_image: "components/img/Exhibit1.png", 
 
\t  \t \t headline: "Season 0 KMTA", 
 
\t  \t \t pageUrl: "/app/article" 
 
\t  \t }, 
 
\t  \t { 
 
\t  \t \t background_image: "components/img/Exhibit2.png", 
 
\t  \t \t headline: "Comedy Central The Golden Years", 
 
\t  \t \t pageUrl: "/app/article" 
 
\t  \t }, 
 
\t  \t { 
 
\t  \t \t background_image: "components/img/Exhibit3.png", 
 
\t  \t \t headline: "Sci-Fi, Crow's voice, Ram Chips", 
 
\t  \t \t pageUrl: "/app/article" 
 
\t  \t } 
 
\t \t ]; 
 
\t }) 
 

 
\t .directive("mediaItems", function(){ 
 
\t  return { 
 
\t   restrict: 'E', 
 
\t   templateUrl:"components/partials/mediaObjectDirective.html" 
 
\t  }; 
 
\t }) 
 

 
})();
<!DOCTYPE html> 
 
<!--[if lt IE 7]>  <html lang="en" ng-app="mysteryScience" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
 
<!--[if IE 7]>   <html lang="en" ng-app="mysteryScience" class="no-js lt-ie9 lt-ie8"> <![endif]--> 
 
<!--[if IE 8]>   <html lang="en" ng-app="mysteryScience" class="no-js lt-ie9"> <![endif]--> 
 
<!--[if gt IE 8]><!--> <html lang="en" ng-app="mysteryScience" class="no-js"> <!--<![endif]--> 
 
<head> 
 
    <base href="/app"> 
 
    <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"> 
 
    <link rel="stylesheet" href="css/bootstrap.min.css"> 
 
    <link rel="stylesheet" href="css/app.css"> 
 
    <script src="bower_components/html5-boilerplate/dist/js/vendor/modernizr-2.8.3.min.js"></script> 
 
    <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> 
 

 
    <section class="header"> 
 
    <div class="container-fluid"> 
 
    <nav> 
 
     <a href="/app"> <img src="components/img/g.png"/> </a> 
 
    </nav> 
 
    </div> 
 
    </section> 
 

 
    <div ng-view></div> 
 

 
    <section class="follow"> 
 
    <div class="container-fluid"> 
 
     <div class="row"> 
 
     <div class="col-sm-4 left">  
 
      <p class=""><img src="components/img/facebook.png"/>Help</p> 
 
      <p>Privacy & Terms</p> 
 
      <p>English </p> 
 
     </div> 
 
     <div class="col-sm-offset-4 col-sm-4 right">  
 
      <p class="">Follow us on</p> 
 
      <img src="components/img/facebook.png"/> 
 
      <img src="components/img/twitter.png"/> 
 
      <img src="components/img/googlePlus.png"/> 
 
      <img src="components/img/pinterest.png"/> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </section> 
 

 
</body> 
 
</html>

ich das Thema ausgiebig recherchiert und sogar versucht, einen anderen Winkel Samt mit aber das Problem ist immer noch da. Es ist ein wenig schwierig, relevante Suchergebnisse zu finden, weil ich nicht sicher bin, wie ich das Problem in wenigen Worten mit google beschreiben kann.

aktualisiert Routing

Hat

\t .config(function($routeProvider){ 
 
\t  $routeProvider 
 

 
     .when('/app', { 
 
      templateUrl : "view1/app.html", 
 
      controller : 'MediaController' 
 
     }) 
 

 
     .when('/app/article', { 
 
      templateUrl : 'view2/article.html', 
 
      controller : 'MediaController' 
 
     }) 
 

 
     .otherwise({ 
 
      redirectTo: "/app" 
 
     }); 
 
\t })

+0

Nun seine endgültig ein Routing-Problem. Für meine Gesundheit können Sie ändern zu - .when ('/', { templateUrl: "view1/app.html" Controller: 'MediaController' }) – dmoo

+0

Also, wie ist Ihre serverseitige Route Mapping konfiguriert? Haben Sie die '/ app' auf der Serverseite der index.html zugeordnet? – MMhunter

Antwort

1

Dies kann passieren, wenn Sie die Routenzuordnung auf der Serverseite nicht konfigurieren.

Wenn Sie Ihre Seite neu laden, besuchen Sie tatsächlich localhost/app. Wenn auf der Serverseite keine Route-Mapping-Konfiguration vorgenommen wird, sucht der Server (z. B. nginx) im Verzeichnis /app des Web-Stammverzeichnisses nach den Indexdateien (index.html, index.php usw.).

Sie müssen also alle Routen zum index.html auf der Serverseite zuordnen.

Für nginx Konfigurationsprüfung dieses question

+0

Hey, ich habe meinen Code aus verschiedenen Gründen in Yeoman verschoben, also bin ich nicht mehr auf diesem Build, aber ich denke, dass dies das Problem, das ich hatte, definitiv hätte beheben können. Danke für die knappe Antwort. – chesh

0

Ihr Routing sieht verwirrt die Frage der Inhalt verschwindet auf Neuladen der Seite nicht festgelegt. Es sollte ungefähr so ​​aussehen -

 .when('/', { 
      templateUrl : "view1/app.html", 
      controller : 'MediaController' 
     }) 

     .when('/app', { 
      templateUrl : "view1/app.html", 
      controller : 'MediaController' 
     }) 

     .when('/app/article', { 
      templateUrl : 'view2/article.html', 
      controller : 'MediaController' 
     }); 

     .otherwise({ 
      redirectTo: "/" 
     }); 
+0

Hi Dmoo, danke für den Blick darauf. Entschuldigung für den unordentlichen Code, der sich immer noch an die Dinge gewöhnt. Ich habe das Routing aktualisiert und posten es als Bearbeitung für meine Frage, aber es läuft immer noch nicht. – chesh