2016-09-18 4 views
0

Während ich an einem Kurs von Pluralsight arbeite, habe ich ein Problem.locationProvider funktioniert nicht für eckig

angularFormsApp.config(
 
    ["$routeProvider", "$locationProvider", 
 
    function ($routeProvider, $locationProvider) { 
 
    $routeProvider 
 
    .when("/home", { 
 
     templateUrl: "app/Home.html", 
 
     controller: "HomeController" 
 
    }) 
 
    .when("/newEmployee", { 
 
     templateUrl: "app/Employee/employeeTemplate.html", 
 
     controller: "employeeController" 
 
    }) 
 
    .when("/updateEmployee/:id", { 
 
      templateUrl: "app/Employee/employeeTemplate.html", 
 
      controller: "employeeController" 
 
    }) 
 
    .otherwise({ 
 
     redirectTo: "/home" 
 
    }); 
 
    $locationProvider.html5Mode({ 
 
     enabled: true, 
 
     requireBase: false 
 
    }); 
 
}]);

Ich hatte nach einem Blick in ein Forum ‚requireBase‘ hinzuzufügen, da es Fehler dies ohne Angabe wurde. Wenn ich jetzt meinen Code ausführe, kann ich nicht direkt auf die Seite Mitarbeiter aktualisieren gehen. Als ich auf "Mitarbeiter aktualisieren" klickte, passierte nichts, ich drückte auf "Abbrechen" und dann auf "Mitarbeiter hinzufügen", aber der "Mitarbeiter aktualisieren" wurde sichtbar anstelle von "Hinzufügen". Als ich auf "Senden" klickte, erhielt ich den Fehler "Nicht gefunden" auf dem Server, ohne dass der Debugging-Code eingegeben wurde.

bemerkte ich den Code

$locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 

die Urls sehen weitergegeben werden und es funktionierte dann. Können Sie mir bitte dabei helfen, da wir diesen Code praktisch verwenden müssen, um die URLs zu verbergen.

Antwort

1

Ich habe endlich eine Antwort gefunden. Die Verknüpfung zu dieser Methode ist:

$locationProvider.html5Mode(true); 

Diese

gleich sein wird
$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: true, 
    rewriteLinks: true 
}); 

Was ich tat, falsch war, als ich die Verknüpfung verwendet, meine f12-Tools im Browser den folgenden Fehler wurden zu geben: "locationProvider erfordern eine Base-href-Tag" Ich verwechselte dies mit dem requireBase-Parameter in der obigen Anweisung und nichts hat für mich funktioniert. Ich habe folgendes:

<base href="/" /> 

im Kopfteil meiner Index.cshtml Seite und es funktionierte.

Verwandte Themen