通过将locationProvider.html5Mode设置为true,我设法从URL中删除了#号,但是又出现了另一个问题。什么都没有显示,并且在我的控制台上它给我404错误。

我很清楚这个问题已经问过几次了,但是我尝试了所有这些解决方案都没有成功。请协助。



var app = angular.module('app', ['ngRoute']);

app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true);
  $routeProvider
    .when('/', {
      templateUrl: 'home.html',
      //controller:'homecontroller'
    })
    .when('/home', {
      templateUrl: 'home.html',
      //controller:'homecontroller'
    })
    .when('/best-prices-buy-phones-in-kenya', {
      templateUrl: 'pages/buy-phones.html',
      //controller:'aboutcontroller'
    })
    .when('/best-prices-buy-phones-in-kenya2', {
      templateUrl: 'pages/buy-phones-htc.html',
      //controller:'servicecontroller'
    })
    .when('/contact_us', {
      templateUrl: 'contact-page.html',
      //controller:'contactcontroller'

    });
}]);

最佳答案

在Index.html中,您不再需要将'#'作为'$ locationProvider.html5Mode(true);'照顾这个。因此,链接上的href只是一个“ /”加上所需的页面,例如

  <a href='/home'>


要么

<a href='/best-prices-buy-phones-in-kenya'>

关于javascript - Angular JS 1,路由,locationProvider,404错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38937872/

10-11 12:40