无限循环,同时使用Angularjs和laravel



我将ngRoute与laravel一起使用时遇到问题。

路线.php:

App::missing(function($exception)
{
    return File::get(public_path() . '/angular.html');
});

这是我的角度.html(这是我使用ng-view的地方):

<!doctype html>
<html lang="ru" ng-app="app">
<head>
    <meta charset="UTF-8">
    <title>Angular & Laravel</title>
    <link rel="stylesheet" href="libs/bootstrap/dist/css/bootstrap.min.css"/>
</head>
<body>
    <header>
        <ul class="nav navbar-nav">
            <li><a href="/">Home</a></li>
            <li><a href="/posts">Posts</a></li>
        </ul>
    </header>
    <div class="container">
        <h2>Angular, hello!</h2>
        <div ng-view></div>
    </div>
    <script type="text/javascript" src="libs/angular/angular.min.js"></script>
    <script type="text/javascript" src="libs/angular-route/angular-route.min.js"></script>
    <script type="text/javascript" src="js/app.js"></script>
</body>
</html>

这是我的应用程序.js:

// define app
var app = angular.module('app', ['ngRoute']);
// routes
app.config(function($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: 'views/home.html',
        controller: 'HomeCtrl'
    }).when('/posts', {
        templateUrl: 'views/posts.html',
        controller: 'firstCtrl'
    }).otherwise({
        redirectTo: '/'
    });
});
// controllers
app.controller('HomeCtrl', function($scope)
{
   $scope.name = 'Ebosher';
});
app.controller('firstCtrl', function($scope, $http)
{
    $http.get('/api/posts').then(function(result) {
        $scope.posts = result.data;
    });
});

现在,当我访问http//project.local时 - 我的浏览器由于无限循环而挂起 - 它不断重复相同的文本无数次。我的代码有什么问题?

角度看起来不错。看起来您正在使用 404 处理程序 (App::missing()) 来提供您的角度。你真的真的不应该这样做(你现在可以看到为什么)。删除该处理程序(或使其成为实际的 404 处理程序),然后只需创建一个包含角度的视图,并从控制器内部或路由闭包return View::make('angular.html');

正在发生的事情是这样的:您的应用程序加载并且找不到正确的路由。应用程序以 404 的方式重定向您。角度加载并调用 ./api/posts,导致 404...。哪个加载角度再次...

最新更新